我想知道是否有可能从真实的ios设备(iPhone)获取带有快照的屏幕截图。 I've found some outdated stuf f,但自2016年以来可能有所改变。... 我有一个使用15种语言的应用程序,该应用程序主要用于相机(因此模拟器不适合),并且需要为我们的文档制作很多屏幕截图。
如果我更改快照文件 并在其中添加我的真实设备,我出现了错误 快速通道快照
因此,它甚至没有向我提供使用真实设备而非模拟器的选项
答案 0 :(得分:2)
您将遇到的一个问题是屏幕截图不一致,这可能是问题,也可能不是问题。此外,还可能存在其他问题,例如对比度差,照片模糊等。
话虽如此,更好的方法是将启动参数用于快速通道快照,并注入您选择的图像来模拟屏幕。这样,您可以完全控制环境并确保结果一致。
首先,在setupUp函数中可以执行以下操作:
<img src="../assets/img/Date-Night.jpg" class="date-night-img" />
要在您的应用程序中进行检查,
class Screenshot: XCTestCase {
var app: XCUIApplication!
override func setUp() {
super.setUp()
app = XCUIApplication()
app.launchArguments = ["isUITest"]
setupSnapshot(app)
app.launch()
}
}
现在,每当通过UI测试为快照启动应用程序时,您都可以了解它。根据这些信息,只需管理插入测试图像的let isUITesting = ProcessInfo.processInfo.arguments.contains("isUITest")
,即可模拟相机效果。现在,您可以在所有屏幕截图中保持一致的外观。