iOS KIF 测试失败
Posted
技术标签:
【中文标题】iOS KIF 测试失败【英文标题】:iOS KIF test failure 【发布时间】:2017-06-16 08:22:25 【问题描述】:我正在尝试在示例应用程序中学习使用 KIF 进行自动化 UI 测试。我的简单测试不断失败。 我的代码:
#import <XCTest/XCTest.h>
#import <KIF/KIF.h>
@interface AutomatedUITestsSampleUITests : KIFTestCase
@end
@implementation AutomatedUITestsSampleUITests
- (void)setUp
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
// In UI tests it is usually best to stop immediately when a failure occurs.
self.continueAfterFailure = NO;
// UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
[[[XCUIApplication alloc] init] launch];
// In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
- (void)tearDown
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
- (void)testExample
[tester waitForViewWithAccessibilityLabel:@"LOGIN - Button"];
[tester tapViewWithAccessibilityLabel:@"LOGIN - Button" traits:UIAccessibilityTraitButton];
我已将辅助功能标签 LOGIN - Button
设置为我的故事板中的 UIButton,并且辅助功能已启用。
我在控制台中得到这个:
Test Case '-[AutomatedUITestsSampleUITests testExample]' started.
t = 0.00s Start Test at 2017-06-16 13:45:07.071
t = 0.00s Set Up
t = 0.04s Launch com.UITests.AutomatedUITestsSample
t = 4.63s Waiting for accessibility to load
t = 8.77s Wait for app to idle
t = 10.48s Tear Down
Test Case '-[AutomatedUITestsSampleUITests testExample]' failed (10.868 seconds).
Test Suite 'AutomatedUITestsSampleUITests' failed at 2017-06-16 13:45:17.939.
Executed 1 test, with 1 failure (1 unexpected) in 10.868 (12.735) seconds
Test Suite 'AutomatedUITestsSampleUITests.xctest' failed at 2017-06-16 13:45:17.940.
Executed 1 test, with 1 failure (1 unexpected) in 10.868 (12.739) seconds
Test Suite 'All tests' failed at 2017-06-16 13:45:17.941.
Executed 1 test, with 1 failure (1 unexpected) in 10.868 (12.743) seconds
这是一个非常简单的测试。为什么会失败?提前致谢。
【问题讨论】:
【参考方案1】:如果您可以访问XCUIApplication
,则说明您的项目配置有问题。 KIF 测试目标应该是“单元测试目标”,而不是“UI 测试目标”。使用正确的配置,无需启动应用程序(也没有应用程序启动操作的可能性) - 它在单元测试开始时启动。当您使用 UI 测试目标时,您的测试在单独的进程中运行,并且 KIF 无权访问您的应用。
我建议用this guide再次配置你的测试目标
【讨论】:
是的,我在 UI 测试中使用 KIF 而不是单元测试以上是关于iOS KIF 测试失败的主要内容,如果未能解决你的问题,请参考以下文章