KIF或EarlGrey等框架如何访问正在运行的应用程序?

时间:2017-11-16 10:23:26

标签: ios testing kif earlgrey

通常在iOS单元测试中,我们创建新对象,调用我们想要测试的方法,然后验证结果。这是一个独立的程序。测试用例总是开始运行app实例,但我们不直接访问该实例。

但是,通过像KIF或EarlGrey这样的框架,我们可以通过在正在运行的应用实例中访问带有可访问性标签的UI元素来编写功能测试。我想知道它是如何实现的。当测试开始时,我们没有类似上下文或根视图控制器对象的东西,框架如何找到来自"无处的"?

1 个答案:

答案 0 :(得分:1)

因为它们基于XCTest的单元测试范例。在其中,测试和应用程序都在同一个包中,因此可以访问app内部。

使用[UIApplication sharedApplication],您实际上可以获取应用的UIWindow并找到整个视图层次结构。