使用 XCTest 编写 UI 测试后,我尝试在模拟器的“设置”应用程序中更改构建点的服务器。这使得自动化测试在正确的地方运行。有没有办法通过辅助功能和 UI 测试代码来做到这一点?
编辑:@oletha 的答案很完美。这是我在 Objective-C 中使用的解决方案:
我将启动参数设置为 configServer=@"URL"
for (NSString *launchArgument in [[NSProcessInfo processInfo] arguments]) { if ([launchArgument hasPrefix:@"configServer"]) { return [launchArgument ComponentsSeparatedByString:@"="].lastObject; } } }
最佳答案
您可以在启动应用程序之前通过设置 launchArguments
属性向应用程序发送启动参数。然后,您可以将应用程序设置为在启动期间读取启动参数,并在使用该启动参数启动模拟服务器时设置模拟服务器的 URL。
// test code
let app = XCUIApplication()
app.launchArguments = ["UITESTS"]
app.launch()
// app code
if NSProcessInfo.processInfo().arguments.contains("UITESTS") {
// set different server URL
}
您可能需要在应用委托(delegate)的 applicationDidFinishLaunching
中添加 URL 切换代码。
关于xcode - 如何更改 XCode 模拟器中的客户端配置以进行自动化 UI 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41043159/