啟動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啟動服務
java代碼
public class BaseIOSTest {
//Driver
protected IOSDriver<IOSElement> driver;
/**
* 配置啟動driver
*
* @throws Exception
*/
@Before
public void setUp() throws Exception {
//app的目錄
File appDir = new File("/Users/duanding/appium/sample-code-master/sample-code/apps/TestApp/build/release-iphonesimulator/");
//app的名字,對應你apps目錄下的文件
File app = new File(appDir, "TestApp.app");
//創建Capabilities
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "10.3");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 6");
capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
//啟動driver
driver = new IOSDriver<IOSElement>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
}
@After
public void tearDown() throws Exception {
//測試完畢,關閉driver,不關閉將會導致會話還存在,下次啟動就會報錯
driver.quit();
}
/**
* 要執行的的測試方法
*/
@Test
public void addContact() {
try {
Thread.currentThread().sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
遇到的坑
一開始始終連接不上模擬器,最后查看appium server日志打印,找到對應的錯誤以及提示。
Please make sure that you have Carthage installed (https://github.com/Carthage/Carthage)
安裝Carthage
brew install carthage
連接上ios模擬器之后發現打開app之后直接閃退,然后appium直接進入阻塞狀態,經過對比推測之后,發現是因為簽名了之后的包需要添加證書相關信息,最后使用未簽名的app包,成功執行腳本。