软件测试 / 测试开发丨 iOS 自动化测试之基于模拟器的自动化测试
获取更多相关知识
本章节主要讲解 WebDriverAgent 环境搭建以及如何通过 iOS 模拟器完成自动化。
WebDriverAgent 简介
WebDriverAgent 是在 iOS 客户端启动了 WebDriver 的 Server,借助这个 server,可以远程控制 iOS 设备进行自动化测试。
Appium 早期支持 UIAutomation,但在 Xcode8 移除 UIAutomation 后,项目增加支持 WebDriverAgent 。所以 Appium 对 iOS 的测试主要依赖于 facebook 的 WebDriverAgent(现 WebDriverAgent 已转由 Appium 维护)。
参考链接:
https://github.com/appium/WebDriverAgent
安装 WebDriverAgent
Appium 包含 WebDriverAgent 环境,所以仅安装 Appium 环境即可
初始化项目
在 WebDriverAgent 目录下执行:./Scripts/bootstrap.sh
,一般 Appium 自带的 WebDriverAgent 目录为:
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
WebDriverAgent
选择 WebDriverAgentRunner 和对应的设备,设置对应的 Team、certificate,然后点击“运行”即可。
build 成功后,在菜单栏 product -> Test 即可
注意: 需在手机上信任 WebDriverAgent
Appium 的 Capability 设置
在模拟器下,需要设置以下参数;如果是测试手机浏览器,可以使用 browserName 代替 app,并把值设置为 Safari 。
根据以上表格内的参数设置对应的 Capability
通过如下命令获取本机可用的 deviceName
启动 Session 后,看到如下界面就表示成功了。
接着就可以直接启动 inspector 做测试了。
常见问题
Unable to launch WebDriverAgent because of xcodebuild failure: "ENOENT: no such file or directory, open '/Applications/Appium.app/Contents/Resources/app/node_modules/appium-xcuitest-driver/WebDriverAgent/PrivateHeaders/XCTest/XCUICoordinate.h'
原因:WDA 的依赖不对
解决方法:进入 appium 的目录执行
npm install
语句,然后再重新启动,例如:
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/8cac876756bdc1d415d91bcc3】。文章转载请联系作者。
评论