启动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包,成功执行脚本。