gpt4 book ai didi

ios - 在 xCode UI 测试中访问 UIKit 对象

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

UI测试时需要截图,但是获取不到UIWindow对象,只能获取到XCUIElement。有没有办法得到真正的 UIKit 对象?附言我正在使用 Objective-C。

最佳答案

在 UI 测试下无法访问底层 UIKit 对象,因为该框架旨在用作 black-box .这些测试基本上不知道幕后“真正”发生了什么;他们只能通过可访问性 API 进行交互。

至于截图,你看过Xcode的测试输出了吗?单击“Show Report Navigator”⌘ 8 以查看测试失败时 Xcode 自动截取的屏幕截图。

这些截图来自 WWDC 2015 video on UI Testing .

Xcode Report Navigator Example Test Failure Screenshot

您还可以通过在特定时间明确测试失败来触发手动屏幕截图。确保关闭 continuesAfterFailure

@interface ScreenshotTests : XCTestCase
@property (nonatomic) XCUIApplication *app;
@end

@implementation ScreenshotTests

- (void)setUp {
[super setUp];

self.continueAfterFailure = YES;
self.app = [[XCUIApplication alloc] init];
[self.app launch];
}

- (void)testManualScreenshot {
[self.app.textFields[@"username"] typeText:@"joemasilotti"];
[self recordFailureWithDescription:@"Taking Screenshot" inFile:@"" atLine:0 expected:YES];
}

@end

关于ios - 在 xCode UI 测试中访问 UIKit 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32979860/

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