使用Xcode7的UI测试为App Store创建应用程序屏幕截图

时间:2015-06-18 06:11:59

标签: ios swift xctest ios9 xcode-ui-testing

每次我们在UI中更改某些内容时,我们都必须手动准备并获取iTunes Connect列表的375(= 5个屏幕截图* 5种设备类型* 15种语言)屏幕截图。

我正在尝试“利用”iOS 9的新UI测试来自动准备并为每种语言拍摄这些屏幕截图。这应该可以节省大量时间并为我们的用户提供更好的体验,因为我们没有经常更新屏幕截图,因为所涉及的工作很多。

我在互联网上找不到多少帮助,可能是因为这个功能太新鲜了。所以这里有两个基本问题,希望我们能找到一种方法来实现它。

  1. 是否可以通过UI测试API将屏幕截图保存到磁盘?

  2. 是否可以为XCTestCase进行全新安装?

3 个答案:

答案 0 :(得分:11)

这与Xcode 7并不完全相关,但您可以使用snapshot自动截屏。

答案 1 :(得分:5)

是的,您可以使用Xcode UI Testing创建屏幕截图。

  • 为您的测试创建自定义方案(可选但建议)。
  • 使用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

./输出将告诉Xcode为每个测试截取屏幕截图。 您可以详细了解here

答案 2 :(得分:3)

  
      
  1. 是否可以通过UI测试API将屏幕截图保存到磁盘?
  2.   

您可以手动保存它们(通过"在预览中打开"按钮),但我不知道在测试期间收集它们的API。提交雷达! (https://bugreport.apple.com

  
      
  1. 是否可以为XCTestCase进行全新安装?
  2.   

我不知道如何为每个XCTestCase实际重新安装您的应用,但您可以uninstall it before running all of your tests,或者XCTestCase可以<!doctype html> <#include "../include/imports.ftl"> 确保您的应用程序在运行测试之前处于新鲜状态(例如重置用户默认值等)。