如何使用 XCTest 打开 safari

How to open safari using XCTest

我是 XCTest 的新手,我正在尝试使用 XCTest 在我的 iPhone 中使用 safari 应用程序,但无法做任何事情,因为有办法实现这个

截至目前已尝试的代码:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"www.ggogle.com"]];
NSURL *url = [NSURL URLWithString:@"http://www.whosebug.com"];

if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}

编写一个模拟 [UIApplication openURL:] 的单元测试,并验证您是否向其传递了正确的 URL。或者,如果您想要另一个方向,请编写一个单元测试,该测试将按调用顺序调用 UIApplicationDelegate 方法,模拟您的应用程序打开 link。这是 XCUnit 所能达到的极限。并手动测试。

或者试试这个

NSString *filePath = [[[NSBundle bundleForClass:[self class]] resourcePath] stringByAppendingPathComponent:@"YourFileName.json"];
XCTAssertNotNil(filePath);

无法使用 XCTest 打开 Safari。我试过以下,它给出了错误 "App accessibility isn't loaded".

在 Brigding-Header.h 中声明 XCUIApplication 私有方法接口:

@interface XCUIApplication (Private)
- (id)initPrivateWithPath:(NSString *)path bundleID:(NSString *)bundleID;
- (void)resolve;
@end

然后尝试打开 safari:

let safari : XCUIApplication = XCUIApplication(privateWithPath: nil, bundleID: "com.apple.safari")
safari.launch();