Ios 如何在单元测试期间以编程方式编辑iPhone可访问性设置?
我的应用程序支持动态字体。当用户在设置(Ios 如何在单元测试期间以编程方式编辑iPhone可访问性设置?,ios,swift,unit-testing,Ios,Swift,Unit Testing,我的应用程序支持动态字体。当用户在设置(settings>General>Accessibility>Larger Text)中更改字体大小并跳回应用程序时,每个标签都应该更新 它是通过重写UILabel的函数来实现的 override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { super.traitCollectionDidChange(previousTraitColl
settings>General>Accessibility>Larger Text
)中更改字体大小并跳回应用程序时,每个标签都应该更新
它是通过重写UILabel的函数来实现的
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
super.traitCollectionDidChange(previousTraitCollection)
guard previousTraitCollection?.preferredContentSizeCategory != traitCollection.preferredContentSizeCategory else { return }
let metrics: UIFontMetrics = UIFontMetrics(
forTextStyle: UIFont.TextStyle.body
)
font = metrics.scaledFont(for: font)
}
现在我需要测试其他视图是否对标签的动态特性做出正确反应
具体来说,我希望进行以下单元测试:
您可以使用以下代码增加系统字体大小
let settings = XCUIApplication(bundleIdentifier: "com.apple.Preferences")
settings.launch()
settings.tables.staticTexts["General"].tap()
settings.tables.staticTexts["Accessibility"].tap()
settings.tables.staticTexts["Larger Text"].tap()
settings.sliders.element.adjust(toNormalizedSliderPosition: 0.7) // Increase as you need
要返回到您自己的应用程序
let yourapp = XCUIApplication(bundleIdentifier: "com.xxx.yourappbundleid")
yourapp.activate()
在iPhone(真实设备)上测试,iOS 12.1.4下面的答案能解决您的问题吗?是的。谢谢:)
let yourapp = XCUIApplication(bundleIdentifier: "com.xxx.yourappbundleid")
yourapp.activate()