Mac环境安装使用Appium,测试IOS App
关于Appium安装和使用,这份写的很好。https://testerhome.com/topics/6962(Appium在 MAC 上搭建 appium1.6.3 过程)。下面我写的内容可不看。
安装并使用后,感觉Appium不太好安装。本笔记仅为出现同样问题的同学提供参考,可能每步照做也不一定能成功,因为我自己看了多个安装指导,才安装成功。事后总结,总会有些遗漏的地方。不过,可作为众多选择中的一种。
1、命令行安装Appium
brew install node # get node.js
npm install -g appium # get appium
npm install wd # get appium client
appium & # start appium
是否安装成功,可运行appium-doctor来检测
由于安装需要连接国外的技术站点,国内网络不稳定导致安装失败。大家可尝试使用淘宝镜像,在~目录创建文件.npmrc,然后加入一行chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver。
2、下载安装Appium.dmg
从https://bitbucket.org/appium/appium.app/downloads/,下载最新版本,目前是1.5.3,点击进行安装。
安装成功,点击Doctor,返回类似下面的内容就表示安装成功了。
3、启动运行存在的问题
a、Error: Could not detect Mac OS X Version from sw_vers output: '10.12。
由于10.12是最新mac版本,appium1.5.3并未提供支持,所以用“grep -rl "Could not detect Mac OS X Version from sw_vers output:" /Applications/Appium.app/”找出包含的文件并修改版本号。具体见http://stackoverflow.com/questions/40129794/how-to-fix-error-could-not-detect-mac-os-x-version-from-sw-vers-output-10-12
b、[MJSONWP]Encountered internal error running command: Error: Could not findAutomation.tracetemplate in any of the followinglocations
找到的Appium开发者的答复是“Xcode 8 removed UI Automation, which is how Appium automated iOS. Appium 1.6.0-beta (now version 3) implements the new automation system. Use it.”所以appium1.5.3对Xcode8支持的不够,所以如果希望使用最新正式版appium1.5.3,我又卸载了Xcode8,安装了Xcode7.3.1版本。如果打算使用最新的Xcode8,最好的选择是使用最新beta版1.6。
c、出现ideviceinstaller安装ios版本失败时,可以考虑重装ideviceinstaller
brew uninstall ideviceinstaller
brew uninstall libimobiledevice
brew install --HEAD libimobiledevice
brew link --overwrite libimobiledevice
brew install ideviceinstaller
brew link --overwrite ideviceinstaller
4、成功运行的iphone6配置
经过多次试用,可运行的iphone6的配置如下:
App Path:需要安装和测试的App地址
Force Device:用来测试的ios设备
Platform Version:测试设备的ios版本
UDID:测试设备的UDID,可在iTunes查到
对于真机测试,需要打开真机的开发者选项,并启动UI Automation。
5、inspector使用
启动Appium后,点击Inspector,出现下面的界面,则说明Appium和使用的手机环境都已经准备好了,可以进行ios界面测试开发了。
6、ios测试代码
@Before
public void setUp() throws Exception {
DesiredCapabilitiescapabilities=newDesiredCapabilities();
capabilities.setCapability("appium-version","1.0");
capabilities.setCapability("platformName","iOS");
capabilities.setCapability("platformVersion","9.3");
capabilities.setCapability("deviceName","iPhone 6");
capabilities.setCapability("app","/Users/zhangjinhai/Downloads/MedicalRecordsFolderPubDebug4.33.0.ipa");
wd=newAppiumDriver(newURL("http://0.0.0.0:4723/wd/hub"),capabilities);
wd.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
@After
public void tearDown() throws Exception {
wd.quit();
}
@Test
public void MedAdd() throws InterruptedException {
wd.findElementByXPath("//*[@name = \"index btnadd\"]").click();
Thread.sleep(6000);
}
7、使用的环境以及一些参考资料网址
调试使用的环境(其他环境也可,安装时都能找到对应的要求):
macOS sierra 10.12.1
XCode 7.3.1
iPhone 6 ios9.3
Appium 1.5.3
参考资料网址:
Appium版本地址:https://bitbucket.org/appium/appium.app/downloads/
Appium最新版本地址:https://github.com/appium/appium
Appium文档地址:http://appium.io/slate/en/1.5.3/?java#appium-platform-support
中文 Appium API 文档:https://testerhome.com/topics/3144
Appium issues-bugs:https://discuss.appium.io/c/issues-bugs
testerhome iOS 真机运行 Appium 长期答疑:https://testerhome.com/topics/1377?page=2