使用屏幕截图测试 UI

Jos*_*eph 5 xcode xcode-ui-testing xcode9

我正在尝试使我的测试自动化一点。我编写了一个简单的测试来截取我的应用程序的屏幕截图

func testiPhoneVariants() {
    let screenshot = XCUIScreen.main.screenshot()
    let attachment = XCTAttachment(screenshot: screenshot)
    attachment.lifetime = .keepAlways
    add(attachment)
}
Run Code Online (Sandbox Code Playgroud)

现在我想在多个模拟器上测试它,所以我做了命令行:

xcodebuild -workspace MyProject.xcworkspace -scheme MyProjectUITests \
-destination 'platform=iOS Simulator,name=iPhone SE' \
-destination 'platform=iOS Simulator,name=iPhone 7' \
-destination 'platform=iOS Simulator,name=iPhone 7 Plus' \
-destination 'platform=iOS Simulator,name=iPhone X' \
test
Run Code Online (Sandbox Code Playgroud)

测试已经通过了,但是在哪里可以找到屏幕截图呢?

谢谢 - 约瑟夫

Tit*_*eul 4

您还可以将 传递-resultBundlePathxcodebuild命令以指定测试结果所在的位置。

xcodebuild -workspace MyProject.xcworkspace -scheme MyProjectUITests \
-destination 'platform=iOS Simulator,name=iPhone SE' \
-destination 'platform=iOS Simulator,name=iPhone 7' \
-destination 'platform=iOS Simulator,name=iPhone 7 Plus' \
-destination 'platform=iOS Simulator,name=iPhone X' \
-resultBundlePath test_results \
test
Run Code Online (Sandbox Code Playgroud)

您应该在文件夹中找到所有测试结果test_results。这还包括屏幕截图