啟動(dòng)appium服務(wù)端
打開終端輸入appium &或者appium。默認(rèn)ip:0.0.0.0,端口4723。當(dāng)然ip和端口可以在啟動(dòng)的時(shí)候配置。
>appium -a 127.0.0.1 -p 4724 //直接以127.0.0.1:4724啟動(dòng)服務(wù)
-a對應(yīng)IP地址,-p對應(yīng)端口,這2個(gè)可以共同使用也可以單獨(dú)使用。
>appium -a 127.0.0.1 //以127.0.0.1:4723啟動(dòng)服務(wù)
>appium -p 4724 //以0.0.0.0:4724啟動(dòng)服務(wù)
常見錯(cuò)誤
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和端口被占用,一般來說是已經(jīng)通過這個(gè)IP和端口啟動(dòng)了服務(wù),更換ip和端口就好。
Java客戶端代碼
使用Androidstudio搭建java開發(fā)環(huán)境上文已經(jīng)說明。下面就是java腳本代碼。
public class BaseAndroidTest {
//Driver
protected AppiumDriver<AndroidElement> driver;
/**
* 配置啟動(dòng)driver
* @throws Exception
*/
@Before
public void setUp() throws Exception {
//app的目錄
File appDir = new File("/Users/.../appium/AppiumTestApplication/doumisaastest/apps");
//app的名字,對應(yīng)你apps目錄下的文件
File app = new File(appDir, "xx.apk");
//創(chuàng)建Capabilities
DesiredCapabilities capabilities = new DesiredCapabilities();
//設(shè)置要調(diào)試的模擬器的名字
capabilities.setCapability("deviceName","minote");
//設(shè)置模擬器的系統(tǒng)版本
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("platformName", "Android");
//設(shè)置app的路徑
capabilities.setCapability("app", app.getAbsolutePath());
//設(shè)置app的包名
capabilities.setCapability("appPackage", "com.doumi.workadmin");
//設(shè)置app的啟動(dòng)activity
capabilities.setCapability("appActivity", ".activity.common.LaunchActivity");
//啟動(dòng)driver
driver = new AndroidDriver<>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
}
@After
public void tearDown() throws Exception {
//測試完畢,關(guān)閉driver,不關(guān)閉將會(huì)導(dǎo)致會(huì)話還存在,下次啟動(dòng)就會(huì)報(bào)錯(cuò)
driver.quit();
}
/**
* 要執(zhí)行的的測試方法
*/
@Test
public void addContact(){
}
}
DesiredCapabilities參數(shù)配置。
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("app", app.getAbsolutePath());
//設(shè)置app的包名
capabilities.setCapability("appPackage", "com.doumi.workadmin");
//設(shè)置app的啟動(dòng)activity
capabilities.setCapability("appActivity", ".activity.common.LaunchActivity");
這幾個(gè)參數(shù)是必須和自己的手機(jī)以及app一一對應(yīng)。否則會(huì)報(bào)錯(cuò)。
platformVersion錯(cuò)誤會(huì)導(dǎo)致無法連接手機(jī)。
其它參數(shù)錯(cuò)誤會(huì)導(dǎo)致無法正確打開app。