Webdriveragentrunner作为iOS设备自动化测试框架的一部分,能够让开发者轻易地在iOS设备上跑自动化测试,大大提高了测试效率。但是在实际操作中,很多开发者都会遇到启动和运行Webdriveragentrunner的问题,导致无法使用这个强大的工具。本文将介绍如何在iOS设备上运行Webdriveragentrunner,帮助开发者克服相关问题。
Webdriveragentrunner介绍
Webdriveragentrunner是由Facebook开发的一个iOS设备自动化测试框架的一部分,基于苹果的 XCTest 框架,可以在iOS设备上运行自动化测试。Webdriveragentrunner是深度集成在Xcode中的,因此开发者可以直接从Xcode中编写、调试和执行自己的测试脚本。
Webdriveragentrunner的特点:
- 基于XCTest框架,可以轻松地使用OC或Swift作为开发语言;
- 可以运行在真机上,支持iOS 9及以上的版本;
- 可以通过Webdriver API与Appium、Selenium等大部分流行的测试框架进行通信。
在使用Webdriveragentrunner前,你需要将你的iOS设备指定为运行目标。Xcode同时支持模拟器和真机两种目标,但Webdriveragentrunner只能在真机上运行。因此,你需要首先确保iOS设备正确设置。
准备工作
在运行Webdriveragentrunner之前,你需要准备以下条件:
- 使用的 Xcode 版本必须为 9.3 或更高,否则无法编译通过;
- 在开发者选项中启用服务。从iOS 10开始,启用服务需要一个允许设备调试的有效开发者证书;
- 将iOS设备设置为允许调试。在iOS设备上,转到“设置->通用->设备管理”下找到“Developer App”,点击“信任”按钮,设备即可允许 Xcode 进行调试。
运行Webdriveragentrunner
接下来,我们将针对不同的Webdriveragentrunner运行情况,简单介绍如何启动和运行这个自动化测试框架。在实际使用中,你需要根据自己的情况进行调整。
1. 使用 Xcode 直接运行
使用 Xcode 直接运行是最简单的启动方法之一,只需遵循以下步骤:
- 打开 Xcode IDE。
- 点击左上角 Xcode 菜单,选择“Open Developer Tool”中的“Device and Simulators”。
- 在打开的窗口中找到你的 iOS 设备,并确保与 Xcode 连接正常。如果 iOS 设备未显示,请检查 iOS 设备是否已连接到 PC。
- 选择 iOS 设备,然后单击右下角的“Open console”。
- 在控制台窗口中,选择 Webdriveragent.xcodeproj,并将 iOS 设备设置为目标。
- 单击 Xcode 工作区栏中的“Product”菜单,选择“Test”命令来启动 Webdriveragentrunner。
如果 iOS 设备连接正常,Webdriveragentrunner 将会在 iOS 设备上启动,你可以看到相关的测试信息输出到 Xcode 控制台中。
2. 使用命令行运行
如果你不想使用 Xcode,也可以在命令行中运行Webdriveragentrunner。以下是如何运行 Webdriveragentrunner 的指南:
- 打开命令行界面。
- 转到项目所在目录。
- 运行以下命令来构建 Webdriveragentrunner:
```
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=<设备id>' test
```
其中,“设备id”是你的 iOS 设备的唯一标识符,你可以在 Xcode IDE "Devices and Simulators"中找到它。如果你有多个设备,可以使用其它筛选条件来选择目标设备。例如,如果你只想运行特定的测试用例,可以使用以下命令来运行:
```
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination='platform=iOS,id=<设备id>' -only-testing:<测试用例名> test
```
此命令将只运行指定的测试用例,而不运行整个测试集。
3. 使用 Appium 或 Selenium 进行通讯
如果你希望使用 Appium 或 Selenium 等测试框架来编写和运行测试脚本,则可以通过以下命令在Webdriveragentrunner和Appium之间创建会话:
```python
from appium import webdriver
driver = webdriver.Remote(
command_executor='http://localhost:8100/wd/hub',
desired_capabilities={
'platformName': 'iOS',
'platformVersion': '<版本号>',
'deviceName': '<设备名称>',
'appiumVersion': '1.6.4-beta',
'automationName': 'XCUITest',
'startIWDP': True,
'useNewWDA': True,
})
```
其中,command_executor 参数是 Webdriveragentrunner 所在的 URL,version 和 name 参数分别是 iOS 平台版本和设备名称。启动 Appium 辅助服务后,即可在 iOS 设备上运行自动化测试。
总结
Webdriveragentrunner是一款优秀的 iOS 设备自动化测试框架,能够让开发者轻松地在 iOS 设备上编写和运行测试用例。本文介绍了如何在 iOS 设备上运行 Webdriveragentrunner 的多种方法,包括使用 Xcode 运行、使用命令行运行、以及使用 Appium 和 Selenium 进行通讯。无论你采用哪种方法,都需要确保正确设置 iOS 设备,才能正常运行 Webdriveragentrunner。