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

我有一组屏幕是由我控制服务器端的JSON结构动态生成的(在这种情况下,是跨多个视图控制器向用户询问的入门问题)。我不知道JSON API会产生什么内容,因此我只能在XCUITest中编写声明性的UI测试代码。

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

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

在这一点上,我正在考虑将隐藏的视图对象嵌入到我的VC层次结构中,可以使用XCUITest调用该视图对象以实际填充内容(因为我对JSON管理类具有可见性)。

谢谢!

最佳答案

如前所述,XCUITests与应用程序分开编译和执行。测试无法从您的应用访问任何代码。 XCUITests在应用程序UI的可访问性树之外工作。

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

关于ios - XCUITest和动态生成的 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35493877/

10-11 20:27