启动appium服务端
打开终端输入appium &或者appium。默认ip:0.0.0.0,端口4723。当然ip和端口可以在启动的时候配置。
>appium -a 127.0.0.1 -p 4724 //直接以127.0.0.1:4724启动服务
-a对应IP地址,-p对应端口,这2个可以共同使用也可以单独使用。
>appium -a 127.0.0.1 //以127.0.0.1:4723启动服务
>appium -p 4724 //以0.0.0.0:4724启动服务
常见错误
Could not start REST http interface listener. The requested port may already be in use. Please make sure there is no other instance of this server running already.
ip和端口被占用,一般来说是已经通过这个IP和端口启动了服务,更换ip和端口就好。
Java客户端代码
使用Androidstudio搭建java开发环境上文已经说明。下面就是java脚本代码。
public class BaseAndroidTest {
//Driver
protected AppiumDriver<AndroidElement> driver;
/**
* 配置启动driver
* @throws Exception
*/
@Before
public void setUp() throws Exception {
//app的目录
File appDir = new File("/Users/.../appium/AppiumTestApplication/doumisaastest/apps");
//app的名字,对应你apps目录下的文件
File app = new File(appDir, "xx.apk");
//创建Capabilities
DesiredCapabilities capabilities = new DesiredCapabilities();
//设置要调试的模拟器的名字
capabilities.setCapability("deviceName","minote");
//设置模拟器的系统版本
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("platformName", "Android");
//设置app的路径
capabilities.setCapability("app", app.getAbsolutePath());
//设置app的包名
capabilities.setCapability("appPackage", "com.doumi.workadmin");
//设置app的启动activity
capabilities.setCapability("appActivity", ".activity.common.LaunchActivity");
//启动driver
driver = new AndroidDriver<>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
}
@After
public void tearDown() throws Exception {
//测试完毕,关闭driver,不关闭将会导致会话还存在,下次启动就会报错
driver.quit();
}
/**
* 要执行的的测试方法
*/
@Test
public void addContact(){
}
}
DesiredCapabilities参数配置。
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("app", app.getAbsolutePath());
//设置app的包名
capabilities.setCapability("appPackage", "com.doumi.workadmin");
//设置app的启动activity
capabilities.setCapability("appActivity", ".activity.common.LaunchActivity");
这几个参数是必须和自己的手机以及app一一对应。否则会报错。
platformVersion错误会导致无法连接手机。
其它参数错误会导致无法正确打开app。