啟動appium服務(wù)端
打開終端輸入appium &或者appium。默認(rèn)ip:0.0.0.0,端口4723框咙。當(dāng)然ip和端口可以在啟動的時候配置。
>appium -a 127.0.0.1 -p 4724 //直接以127.0.0.1:4724啟動服務(wù)
-a對應(yīng)IP地址痢甘,-p對應(yīng)端口喇嘱,這2個可以共同使用也可以單獨(dú)使用。
>appium -a 127.0.0.1 //以127.0.0.1:4723啟動服務(wù)
>appium -p 4724 //以0.0.0.0:4724啟動服務(wù)
常見錯誤
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)通過這個IP和端口啟動了服務(wù)者铜,更換ip和端口就好。
Java客戶端代碼
使用Androidstudio搭建java開發(fā)環(huán)境上文已經(jīng)說明。下面就是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的名字愉粤,對應(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的啟動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 {
//測試完畢,關(guān)閉driver拿撩,不關(guān)閉將會導(dǎo)致會話還存在衣厘,下次啟動就會報錯
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的啟動activity
capabilities.setCapability("appActivity", ".activity.common.LaunchActivity");
這幾個參數(shù)是必須和自己的手機(jī)以及app一一對應(yīng)压恒。否則會報錯影暴。
platformVersion錯誤會導(dǎo)致無法連接手機(jī)。
其它參數(shù)錯誤會導(dǎo)致無法正確打開app探赫。