使用 Xcode7 的 UI 测试为 App Store 创建应用程序屏幕截图
Using Xcode7's UI tests to create app screenshots for the App Store
每次我们在 UI 中更改某些内容时,我们都必须手动准备并为 iTunes Connect 的列表拍摄 375(= 5 个屏幕截图 * 5 种设备类型 * 15 种语言)屏幕截图。
我正在尝试 "exploit" iOS 9 的新 UI 测试以自动为每种语言准备和获取这些屏幕截图。这应该可以节省大量时间并为我们的用户提供更好的体验,因为由于工作量太大,我们没有经常更新屏幕截图。
我在网上找不到太多帮助,可能是因为这个功能太新鲜了。所以这里有两个基本问题,希望我们能找到实现它的方法。
是否可以通过 UI 测试将屏幕截图保存到磁盘 API?
是否可以对 XCTestCase 进行全新安装?
这与 Xcode 7 不完全相关,但您可以使用 snapshot.
自动截取屏幕截图
- Is it possible to save a screenshot to disk through the UI testing API?
您可以手动保存它们(通过 "open in preview" 按钮),但我不知道 API 可以在测试期间收集它们。归档雷达! (https://bugreport.apple.com)
- Is it possible to have a clean install for a XCTestCase?
我不知道有什么方法可以真正为每个 XCTestCase
重新安装您的应用程序,但您可以 uninstall it before running all of your tests, or you can use the setUp
class method or instance method 在 XCTestCase
上确保您的应用程序处于全新状态在您的测试之前 运行(例如重置用户默认值等)。
是的,您可以使用 Xcode UI 测试创建屏幕截图。
- 为您的测试创建自定义方案(可选但推荐)。
- 使用 CLI(终端)运行 测试。像这样:
xcodebuild -workspace App.xcworkspace \
-scheme "SchemeName" \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.0'
test
完成此操作后,要生成屏幕截图,请将路径添加到您想要屏幕截图的位置,如下所示:
xcodebuild -workspace App.xcworkspace \
-scheme "SchemeName" \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.0'
-derivedDataPath './output'
test
./output 会告诉 Xcode 为每个测试截取屏幕截图。
详细可以找这个here
每次我们在 UI 中更改某些内容时,我们都必须手动准备并为 iTunes Connect 的列表拍摄 375(= 5 个屏幕截图 * 5 种设备类型 * 15 种语言)屏幕截图。
我正在尝试 "exploit" iOS 9 的新 UI 测试以自动为每种语言准备和获取这些屏幕截图。这应该可以节省大量时间并为我们的用户提供更好的体验,因为由于工作量太大,我们没有经常更新屏幕截图。
我在网上找不到太多帮助,可能是因为这个功能太新鲜了。所以这里有两个基本问题,希望我们能找到实现它的方法。
是否可以通过 UI 测试将屏幕截图保存到磁盘 API?
是否可以对 XCTestCase 进行全新安装?
这与 Xcode 7 不完全相关,但您可以使用 snapshot.
自动截取屏幕截图
- Is it possible to save a screenshot to disk through the UI testing API?
您可以手动保存它们(通过 "open in preview" 按钮),但我不知道 API 可以在测试期间收集它们。归档雷达! (https://bugreport.apple.com)
- Is it possible to have a clean install for a XCTestCase?
我不知道有什么方法可以真正为每个 XCTestCase
重新安装您的应用程序,但您可以 uninstall it before running all of your tests, or you can use the setUp
class method or instance method 在 XCTestCase
上确保您的应用程序处于全新状态在您的测试之前 运行(例如重置用户默认值等)。
是的,您可以使用 Xcode UI 测试创建屏幕截图。
- 为您的测试创建自定义方案(可选但推荐)。
- 使用 CLI(终端)运行 测试。像这样:
xcodebuild -workspace App.xcworkspace \ -scheme "SchemeName" \ -sdk iphonesimulator \ -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.0' test
完成此操作后,要生成屏幕截图,请将路径添加到您想要屏幕截图的位置,如下所示:
xcodebuild -workspace App.xcworkspace \ -scheme "SchemeName" \ -sdk iphonesimulator \ -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.0' -derivedDataPath './output' test
./output 会告诉 Xcode 为每个测试截取屏幕截图。 详细可以找这个here