使用XCUITests更改设置
Xcode 9增加了编写测试的能力,而现在它可以与“设置”应用程序进行交互。 如果每个人都想禁用位置或将动态字体切换为大字体? -现在有可能。
首先,我们需要像普通应用程序一样午餐设置应用程序,并提供它的捆绑包标识符。
让settingsApp = XCUIApplication(bundleIdentifier:“ com.apple.Preferences”)
settingsApp.launch()
您可以与设置进行交互,就像使用应用程序一样。 由于“ [MC] 从私人有效用户设置中读取”错误,目前无法使用交互记录。 我已经提出雷达来增加这种可能性。
假设我们要打开和关闭定位服务。 我们可以这样做:
settingsApp.tables.cells.staticTexts [“ Privacy”]。tap()
settingsApp.tables.cells.staticTexts [“位置服务”] .tap()
如果settingsApp.switches [“位置服务”] .isSelected {
settingsApp.switches [“位置服务”] .tap()
settingsApp.buttons [“关闭”] .tap()
}其他{
settingsApp.switches [“位置服务”] .tap()
}
最好在teardDown上终止设置,这样我们将在每次测试运行时进入主设置屏幕。
settingsApp.terminate()
这是测试的实际效果:
您可以在github上找到要使用的示例项目:https://github.com/PycKamil/XCUITestSettingsExample