每次我们在UI中更改某些内容时,我们都必须手动准备并为iTunes Connect的列表拍摄375(= 5个屏幕截图 * 5种设备类型 * 15种语言)个屏幕截图。
我正在尝试“利用”iOS 9的新UI测试来自动准备和拍摄每种语言的截图。这应该可以保存大量的时间,并为我们的用户提供更好的体验,因为我们没有经常更新截图,因为这涉及到艰苦的工作。
我在网上找不到太多的帮助,可能是因为这个功能太新鲜了。所以这里有两个基本的问题,希望我们能找到一种方法来实现它。
1.是否可以通过UI测试API将屏幕截图保存到磁盘?
1.是否可以对XCTestCase进行全新安装?
4条答案
按热度按时间piztneat1#
这与Xcode 7并不完全相关,但你可以使用snapshot自动截图。
kqhtkvqz2#
是的,您可以使用Xcode UI Testing创建屏幕截图。
完成此操作后,要生成屏幕截图,请添加您希望屏幕截图的路径,如下所示:
./output会告诉Xcode每次测试都要截图。你可以在here中找到详细信息
gudnpqoy3#
1.是否可以通过UI测试API将屏幕截图保存到磁盘?
您可以手动保存它们(通过“在预览中打开”按钮),但我不知道有什么API可以在测试期间收集它们。
1.是否可以对XCTestCase进行全新安装?
我不知道有什么方法可以真正为每个
XCTestCase
重新安装你的应用程序,但是你可以uninstall it before running all of your tests,或者你可以在XCTestCase
上安装use thesetUp
class method or instance method,以确保你的应用程序在运行测试之前处于全新状态(例如,重置用户默认值等)。h5qlskok4#
这是目前为止我发现的最好的方法:Automating App Store localized screenshots with XCTest and Xcode Test Plan
总结一下(并尽量确保这个答案在未来不会受到链接腐烂的影响),你应该创建一个测试计划,遍历你想要截图的应用中的屏幕,并包含类似于以下的代码来截图:
然后,您可以使用shell脚本自动创建和提取屏幕截图,该脚本使用
xcodebuild test
执行测试,并使用xcparse
将它们导出到单独的文件夹中:就我个人而言,我更喜欢这种方法,而不是使用快车道。