在 Xcode 中批量 UI 测试



我想批量 UI 测试(现在,我想单元测试会在一段时间内有用)

到目前为止,Xcode UI测试和"fastlane scan"似乎都没有任何固有的支持。有没有一个好的和简单的方法?

情况

我需要测试某个 UI 测试 N 次。

真实世界的情况

我需要测试某个 UI 测试 100 次,并在批处理结束时获得输出:

  • 成功/失败的迭代次数
  • 失败迭代的任何日志

我已经尝试过(并且到目前为止正在做什么)

在快速文件中,fastlane scan可以像这样用于批处理。但是,输出文件最终都位于单独的目录中,聚合所有这些结果将是相当(?)的工作。这不像scan返回布尔值或任何表示测试成功状态的东西吗?(实际上扫描可能不支持运行某个测试,它会运行所有测试)

100.times do |index|
puts "Running test iteration #{index}..."
scan(scheme: schemefortesting,
output_directory: "fastlane/tests/test_output_#{index}",
destination: 'name=Myrealworldiphonename'
)
end

据我所知,不支持这一点。我想最好的方法是制作一种方法来执行测试,然后让测试用例运行多次,跟踪整体结果并记录到控制台。像这样:

func runTheTest() -> Bool {
app.launch()
// Run your test
let passing = // Make your asserts
return passing
}
func testManyTimes() {
var allTestsPassing = true
for n in 0...100 {
let thisLoopPassing = runTheTest()
print("Loop (n) returned (thisLoopPassing)")
allTestsPassing = allTestsPassing && thisLoopPassing
}
XCTAssertTrue(allTestsPassing)
}

这个想法部分来自在Xcode中多次自动运行测试用例。

相关内容

  • 没有找到相关文章

最新更新