首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在XCode模拟器中更改客户端配置以进行自动UI测试

如何在XCode模拟器中更改客户端配置以进行自动UI测试
EN

Stack Overflow用户
提问于 2016-12-08 15:35:32
回答 2查看 433关注 0票数 2

在用XCTest编写UI测试之后,我试图在模拟器中的Settings应用程序中将构建点更改为服务器。这是在正确的地方运行的自动化测试。有什么方法可以用可访问性和UI测试代码来做到这一点吗?

我如何更改这个URL?

编辑:@oletha的答案是完美的。下面是我在目标C:中使用的解决方案。

我将启动参数设置为configServer=@"URL"

for (NSString *launchArgument in [[NSProcessInfo processInfo] arguments]) { if ([launchArgument hasPrefix:@"configServer"]) { return [launchArgument componentsSeparatedByString:@"="].lastObject; } }

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-10 10:26:48

您可以通过在启动应用程序之前设置launchArguments属性向应用程序发送一个启动参数。然后,您可以设置您的应用程序在启动时读取启动参数,并在使用该启动参数启动时设置模拟服务器的URL。

代码语言:javascript
运行
复制
// test code
let app = XCUIApplication()
app.launchArguments = ["UITESTS"]
app.launch()

// app code
if NSProcessInfo.processInfo().arguments.contains("UITESTS") {
    // set different server URL
}

您可能希望在应用程序委托上添加applicationDidFinishLaunching中的URL切换代码。

票数 2
EN

Stack Overflow用户

发布于 2016-12-08 18:34:17

根据Xcode 8.2,您不能在您自己的应用程序的目标之外自动化UI,因此您不能与设备上的Settings应用程序交互。我觉得这是一个错误,并建立了一个雷达(http://www.openradar.me/27802551),您可能也需要这样做。

我想您要更改的URL存储在您的首选项中的某个地方。如果是这样的话,您可以在使用SBTUITestTunnel执行测试时动态地更改它。这是一个第三方库,允许通过UI测试与您的应用程序交互,启用网络模拟和监视、数据注入等等。对于您的用例,它允许轻松地更新NSUserDefaults

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41043159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档