我想批量UI测试(现在,我猜单元测试会有用一段时间)
Xcode UI测试和" fastlane扫描"到目前为止似乎对此有任何固有的支持。有一个好的和简单的方法吗?
场合
我需要测试一次特定的UI测试N次。
真实世界的情况
我需要测试100次特定的UI测试并在批处理结束时获得输出:
我尝试过(现在正在做)
在快速文件中,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
答案 0 :(得分:1)
据我所知,对此没有任何支持。我想,最好的方法是创建一个执行测试的方法然后让测试用例多次运行,跟踪整体结果并记录到控制台。类似的东西:
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)
}
部分来自Automatically Running a Test Case Many Times in Xcode的想法。