我正在尝试学习在示例应用程序中使用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这是一个非常简单的测试。为什么它失败了?提前谢谢。
发布于 2017-06-16 17:06:03
如果您有访问XCUIApplication的权限,则说明您的项目配置有问题。KIF测试目标应该是“单元测试目标”,而不是"UI测试目标“。有了正确的配置,就不需要启动应用程序(也不可能启动应用程序)-它是在单元测试开始时启动的。当您使用UI测试目标时,您的测试在单独的进程中运行,并且KIF无法访问您的应用程序。
我建议使用this guide重新配置测试目标
https://stackoverflow.com/questions/44584355
复制相似问题