XCUITest和动态生成的视图

时间:2016-02-18 22:37:08

标签: ios xcode cocoa-touch xcode7 xcode-ui-testing

对于XCUITest相关工作,我如何访问我的应用程序类?

我有一组动态生成的屏幕(在这种情况下,我在多个视图控制器上询问用户的入职问题)关闭我控制服务器端的JSON结构。我不知道JSON API会产生什么内容,这样我就可以在XCUITest中编写声明性的UI测试代码。

我希望能够使用我的XCUITest访问JSON结构周围的一组包装类,以获取相关信息,这些信息可以让我了解这些屏幕上的内容,以便我可以模拟正确填写它们。对于一些基本的Google,它的主要目标/应用程序代码之外的XCUITests是明确的,但我没有找到任何策略来在XCUITest中访问它。

如果没有直接的方法(有吗?),有什么好的选择?

此时,我想在我的VC中嵌入一个隐藏的视图对象'我可以使用XCUITest调用以实际填充内容的层次结构(因为我可以看到我的JSON管理类)。

谢谢!

2 个答案:

答案 0 :(得分:1)

正如您所提到的,XCUITests是与您的应用分开编译和执行的。您的测试无法从您的应用访问任何代码。 XCUITests可以使用应用程序用户界面的辅助功能树。

XCUITests背后的理念是让测试尽可能贴近最终用户'流动尽可能。我会围绕检查您可能希望加载的独特内容类型和组合来构建测试。但是如果您必须有一些额外的线索来帮助您的测试运行,我建议您在Xcode项目中使用一个单独的Scheme来运行针对Debug构建配置的测试,该构建配置可以使用示例数据集预先填充您的应用程序运行你的测试。或者在方案中包含一些额外的UI元素,详细说明有关在运行时加载的UI的细节。

答案 1 :(得分:0)

类上的内部自定义扩展可以公开函数&您想要访问的属性。