基于截图的UI自动化测试:多模拟器运行后截图位置咨询
找到xcodebuild UI测试截图的存储位置
嘿,我来帮你定位那些失踪的截图!当你用xcodebuild运行多模拟器测试时,截图的存储位置分两种情况:
一、自定义指定存储路径(推荐)
如果你想让截图存到自己容易找到的地方,可以在xcodebuild命令里加上-resultBundlePath参数,指定一个自定义目录。比如修改你的命令如下:
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 ./UITestResults \ test
执行后,截图会保存在当前目录下的UITestResults文件夹里。进入这个文件夹后,你能看到对应每个模拟器的测试结果子目录,在每个子目录的Attachments文件夹里,就能找到你生成的截图了。
二、默认存储路径(未指定自定义路径时)
如果没加上面的参数,截图会默认存在Xcode的DerivedData目录里,路径是:
~/Library/Developer/Xcode/DerivedData/[项目名-随机字符串]/Logs/Test/[日期命名的测试文件夹]/
具体步骤:
- 打开
~/Library/Developer/Xcode/DerivedData/文件夹(如果找不到Library,可以在Finder里按Cmd+Shift+G输入路径打开) - 找到你的项目对应的文件夹(名字格式是
MyProject-xxxxxx,xxxxxx是一串随机字符) - 进入
Logs/Test目录,里面会有按测试执行日期命名的文件夹 - 每个模拟器的测试结果都有独立的子目录,进入对应模拟器的目录后,在
Attachments文件夹里就能找到截图
另外,因为你设置了attachment.lifetime = .keepAlways,这些截图不会被Xcode自动清理,所以不用担心丢失~
内容的提问来源于stack exchange,提问作者Joseph
相关产品推荐
相关产品推荐

