如何使用 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();
我是 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();