1. 安装nodejs(必须),验证是否安装完成:node -v
2. 安装JDK(必须)
3. 安装SDK(必须),下载地址:https://www.androiddevtools.cn/
安装完成后运行:SDK Manager.exe,四个必装,其他自动打勾的项目,装不装都是可以的。
环境变量配置:
ANDROID_HOME:D:\soft1\android-sdk
path:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
4. 安装Appium桌面版本(必须),一般都是github下载,官网也是提供的github链接。
点击下载安装完成即可。双击Appium图标打开,出现以下界面点击开始,参数默认就好,点击开始。
点击右上角放大镜, 进入配置
选择上边第一个菜单,点击这里,输入手机配置
好了我们在Desired Capabilities添加以下字段,注意:
左侧写key(名字固定写法不要改),右侧写value(填错会报错启动不起来)
{
"platformName": "Android",
"platformVersion": "6.0.1",
"deviceName": "Nexus 6",
"appPackage": "com.zhihu.android",
"appActivity": ".app.ui.activity.MainActivity"
}
java启动appium代码:
public class DriverInitAndroid {
public static AndroidDriver init() throws MalformedURLException {
//启动appium
DesiredCapabilities capabilities = new DesiredCapabilities();
//capabilities.setCapability("app", app.getAbsolutePath()); //如果该应用手机已安装不会重新安装和覆盖之前的版本
//capabilities.setCapability("noReset", true); //不需要再次安装
capabilities.setCapability("deviceName","emulator-5554");
capabilities.setCapability("automationName","Appium");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("platformVersion","7.1.2");
//配置测试apk
capabilities.setCapability("appPackage", "com.ss.android.ugc.aweme");
capabilities.setCapability("appActivity", "com.ss.android.ugc.aweme.splash.SplashActivity");
// capabilities.setCapability("sessionOverride", true); //每次启动时覆盖session,否则第二次后运行会报错不能新建session
// capabilities.setCapability("unicodeKeyboard", true); //设置键盘
// capabilities.setCapability("resetKeyboard", false); //设置默认键盘为appium的键盘
// AppiumDriver driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); //错误的
AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
return driver;
}
}
注:Exception in thread "main" org.openqa.selenium.WebDriverException: Connection refused: connect
解决方式:打开appium服务就可以了