gpt4 book ai didi

ios - 所有 KIF 测试步骤都抛出相同的错误,我做错了什么?

转载 作者:行者123 更新时间:2023-11-28 22:27:21 26 4
gpt4 key购买 nike

无论我如何编写 KIFTestScenario 或 KIFTestStep,运行我的 KIF 目标时,它们都会返回以下错误:

12:20:58.434 - Test that a user can successfully dismiss the welcome screens
12:24:53.208 - FAIL (209.11s): Tap screen at point "{10, 10}"
12:24:53.209 - FAILING ERROR: Error Domain=KIFTest Code=0 "Step threw exception:
*** -[__NSArrayM insertObject:atIndex:]:
object cannot be nil" UserInfo=0x842c1e0 {NSLocalizedDescription=Step threw exception: *** -[__NSArrayM insertObject:atIndex:]:
object cannot be nil}
12:24:53.210 - END OF SCENARIO (duration 223.62s)

按照建议,我包含了我正在使用的代码:

TestController.m

#import "TestController.h"
#import "KIFTestScenario+Additions.h"

@implementation TestController

- (void)initializeScenarios;
{
[self addScenario:[KIFTestScenario scenarioToLogIn]];
}
@end

KIFTestScenario+Additions.m

#import "KIFTestScenario+Additions.h"

@implementation KIFTestScenario (Additions)

+ (id)scenarioToLogIn
{
KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription:@"Test that a user can successfully dismiss the welcome screens"];
KIFTestStep *step = [KIFTestStep stepToTapScreenAtPoint:CGPointMake(10.0f, 10.0f)];
[scenario addStep:step];
return scenario;
}
@end

我已经完成了调试器,我添加到场景中的 KIFTestStep 是非零的,并且是一个有效的 KIFTestStep。

有没有人以前遇到过这个问题或有任何修复的想法?

最佳答案

此异常是在您自己的代码中引发的。

查看 KIF 源代码,在 two places 中调用了 insertObject:atIndex: : 在 addStep:KIFTypist 中。

您的异常发生在步骤的执行过程中,因此它不在 addStep: 中,并且您没有使用键盘方法,因此未使用 KIFTypist .

可能发生的情况是,此时 KIF 正在点击屏幕,而您的手势识别器或回调监听器正在触发异常。这通常会使您的应用程序崩溃,但 KIF 的异常处理程序捕获了它并报告了测试失败。您可以使用 breakpoint exception 在引发异常的地方捕获异常并查明是什么原因造成的。

值得注意的是,屏幕坐标 10, 10 通常无法点击,因为它位于状态栏内。要在 10, 10 点按您的应用,您应该传递 10, 30


更新

根据我们在评论中的讨论,在 windowsWithKeyWindow 中引发了异常,其中键窗口为 nil。在典型应用程序中,keyWindownil 的唯一情况是在您调用应用程序委托(delegate)中的 [self.window makeKeyAndVisible] 之前。在调用 KIF 的 startTestingWithCompletionBlock: 方法之前,您需要确保完成所有设置逻辑(包括制作关键窗口)。

关于ios - 所有 KIF 测试步骤都抛出相同的错误,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com