ios - 是否可以同时在多个模拟器设备上进行 iOS XCUITesting?

标签 ios swift ios-simulator xcuitest

我有一个应用程序,在生产中将在五个不同的设备上使用 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 开始你可以运行并行测试

  1. 在 Xcode 中选择您的目标方案,然后“编辑方案...”
  2. 找到“测试”设置,然后按“信息”标签
  3. 您会看到单元和用户界面测试的列表,点击相关联的 “选项...”按钮
  4. 选择“在模拟器上并行执行”
  5. 可以选择“随机化执行顺序”

Options

关于ios - 是否可以同时在多个模拟器设备上进行 iOS XCUITesting?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53229476/

相关文章:

ios - 从命令行自动执行 iOS monotuch GUI 测试

ios - iOS 应用程序上的 Youtube API v3。我的 API key 不起作用,但其他人的 key 在同一个应用程序上有效。错误 403

ios - swift :围绕给定数字创建范围

iOS Firebase 崩溃报告 - 运行构建脚本时出错

ios - ActionSheetPicker 用于 ActionSheetPicker 的无效目标/操作组合

ios - 如何在 Xcode 5.1.1 或 Xcode 5 中获得与 iPhone 相同的 iPhone 模拟器 7.1 皮肤

iphone - Objective-C 和 iOS 中的超全局变量

ios - iPhone 6比较两个UIColors

ios - iOS Swift 3.1 中的 setValue 和 myObject.propertyName 有什么区别?

ios-simulator - 如何关闭 iOS 10 模拟器、Xcode 9、UI 测试中的系统警报