我有一个应用程序,在生产中将在五个不同的设备上使用 MultipeerConnectivity
相互通信。我有一个 bash 脚本,可以在五个不同的模拟器上启动应用程序。这很好用,但每次我都必须在每台设备上点击许多按钮来测试所有内容。
所以我想也许 XCUITest
可以帮助自动化这个,并删除这些外部 bash 脚本依赖项(想在 Xcode/Swift 中完成所有事情)。我尝试了这样一种天真的方法:
func testExample() {
// Use recording to get started writing UI tests.
// Use XCTAssert and related functions to verify your tests produce the correct results.
let app1 = XCUIApplication(bundleIdentifier: "com.madebymist.qdb-ios")
let app2 = XCUIApplication(bundleIdentifier: "com.madebymist.qdb-ios")
app1.launch()
app1.buttons["Select Group"].tap()
app1.sheets.buttons["Group one"].tap()
app1.buttons["Host"].tap()
// Launch and test App 2
app2.launch()
app2.buttons["Select Group"].tap()
app2.sheets.buttons["Group one"].tap()
app2.buttons["Join"].tap()
}
但这只是在同一个模拟器中一个接一个地启动应用程序。
那么,有没有办法在多个模拟器设备上同时实现 XCUITest?(最好在 Xcode/Swift 中,但其他选项也可以)。
最佳答案
是的,从 Xcode 10 开始你可以运行并行测试
- 在 Xcode 中选择您的目标方案,然后“编辑方案...”
- 找到“测试”设置,然后按“信息”标签
- 您会看到单元和用户界面测试的列表,点击相关联的 “选项...”按钮
- 选择“在模拟器上并行执行”
- 可以选择“随机化执行顺序”
关于ios - 是否可以同时在多个模拟器设备上进行 iOS XCUITesting?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53229476/