我想知道是否可以从真实的 ios 设备(iPhone)上获取带有快照的屏幕截图。 I've found some outdated stuf但也许自 2016 年以来有些事情发生了变化...... 我有一个支持 15 种语言的应用程序,主要与相机一起使用(因此模拟器不适合),我需要为我们的文档制作大量屏幕截图。
如果我更改快照文件 并添加我的真实设备,我遇到了错误 快车道快照
所以它甚至没有为我提供使用真实设备而不是模拟器的选项
最佳答案
您将遇到的一个问题是屏幕截图不一致,这可能是问题,也可能不是问题。此外,还可能存在其他问题,例如对比度差、照片模糊等。
话虽如此,更好的方法是利用快速 channel 快照的启动参数并注入(inject)您选择的图像来模拟屏幕。这样,您就可以完全控制环境并确保结果一致。首先,setupUp 函数中类似的内容可以帮助您开始:
class Screenshot: XCTestCase {
var app: XCUIApplication!
override func setUp() {
super.setUp()
app = XCUIApplication()
app.launchArguments = ["isUITest"]
setupSnapshot(app)
app.launch()
}
}
要在您的应用中检查这一点:
let isUITesting = ProcessInfo.processInfo.arguments.contains("isUITest")
现在,每当您的应用程序通过快照的 UI 测试启动时,您都可以知道这一点。有了这些信息,只需管理一个插入测试图像的 UIImageView
,即可模拟相机效果。现在,这将为您提供所有屏幕截图的一致外观。
关于ios - FaSTLane快照可以在真实的ios设备上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54406358/