我正在尝试使用xcodebuild从命令行以并行方式运行UI测试。
我正在使用的命令是:
xcodebuild
-verbose
-workspace "MyWorkspace.xcworkspace"
-scheme "User Interface Tests"
-sdk iphonesimulator
-destination 'platform=iOS Simulator,id=5193368C-B000-4ED1-99F6-E23F7BAB9F69'
-destination 'platform=iOS Simulator,id=9B751E0D-8268-4DDF-ADAC-CBF2508F4CCC'
test
测试执行在两台设备上都能正常运行,但我无法在任何地方看到任何日志消息。即
t = 25.90s点击“MenuButton”按钮
t = 25.90s等待no.test.myapp闲置
t = 26.14s找到“MenuButton”按钮
t = 26.35s等待no.test.myapp闲置
t = 26.39s合成事件
t = 26.46s等待no.test.myapp闲置
t = 27.09s点击“FooBar”StaticText
当我只有一个目的地时,我可以看到测试的日志/输出(从Xcode运行测试时可以看到相同的输出)。但是,当我添加第二个目的地时,显示的唯一信息是:
在iPhone 8上传递测试用例'
Foo.testBar()
或
测试用例'
Foo.testBar()
在iPhone 6s上失败了。
这不是很有用,因为我想知道测试失败的地方。
此输出是否记录在任何地方?理想情况下,我希望看到我运行测试的每个设备的分步记录。
答案 0 :(得分:2)
您的派生数据文件夹中会有一个.xcactivitylog,通常位于以下路径:
~/Library/Developer/Xcode/DerivedData/<your-app-name>/Logs/Test/
如果你最近做了很多测试,你会看到一些不同的日志;在每次测试运行之前随时删除这些以保持目录清洁并易于导航。
答案 1 :(得分:0)
您可以通过将此标志添加到xcodebuild命令来控制TestSummaries.plist的位置(可以将其提供给xchtmlreport
):
-resultBundlePath resultsDir
您应该在每次测试运行之间删除该文件夹。如果要并行运行,则可能需要为每个xcodebuild调用提供单独的结果路径。