XCTest中的屏幕比例因子

时间:2018-06-12 08:18:55

标签: ios xcode xctest

我正在运行UITest,其中获取屏幕比例因子至关重要。通常我使用UIScreen.main.scale m但XCUIScreen.main似乎没有scale属性。 是否可以在UITests中访问设备比例因子?

1 个答案:

答案 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
    }