我正在运行UITest,其中获取屏幕比例因子至关重要。通常我使用UIScreen.main.scale
m但XCUIScreen.main
似乎没有scale
属性。
是否可以在UITests中访问设备比例因子?
答案 0 :(得分:1)
我通过将AccessibilityIdentifier添加到AppDelegate中包含所需信息的窗口来管理它:
int scaleFactor = [[NSNumber numberWithDouble:[UIScreen mainScreen].scale] intValue];
self.window.accessibilityIdentifier = [NSString stringWithFormat:@"windowScale:%d", scaleFactor];
稍后访问它并在我的测试中解析:
var windowsScaleFactor: Int {
let scaleFactorString = self.windows.firstMatch.identifier
guard let scaleFactor = Int(scaleFactorString.components(separatedBy: CharacterSet.decimalDigits.inverted).joined(separator: "")) else {
fatalError("Could not determine window scale factor")
}
return scaleFactor
}