在 UITest 的 iTunes 提示中填写密码字段
Fill password field in iTunes prompt on a UITest
我正在为我的应用编写 UI 测试。
虽然测试是 运行 我得到一个 'Sign In to Complete Purchase' 提示:
我能够填写 'Apple ID' 文本字段,因为键盘已经打开并准备好填写它 - 为此,我使用了:
XCUIApplication *app = [[XCUIApplication alloc] init];
[app typeText:@"My iTunes username"];
但我无法模拟点击密码字段。我不知道如何在 UI 中找到它。我尝试了很多选项(但没有一个有效):
XCUIElementQuery *collectionViewsQuery = app.collectionViews;
[collectionViewsQuery.textFields[@"password"] tap];
[collectionViewsQuery.textFields[@"Password"] tap];
[[collectionViewsQuery.textFields firstMatch] tap];
[collectionViewsQuery.secureTextFields[@"password"] tap];
[collectionViewsQuery.secureTextFields[@"Password"] tap];
[[collectionViewsQuery.secureTextFields firstMatch] tap];
XCUIApplication *springboard = [[XCUIApplication alloc] initWithBundleIdentifier:@"com.apple.springboard"];
[[springboard.alerts firstMatch].textFields[@"password"] tap];
[[springboard.alerts firstMatch].textFields[@"Password"] tap];
我认为真正的问题是我无法获得相应的视图(或本例中的 collectionView)。
我试着查看 Apple 文档,但找不到任何内容。
我确实看到了为应用内购买测试添加配置文件的选项,但就我而言,我不测试应用内购买。我从我的应用程序中下载另一个应用程序以检查 AWS 设备场上的转化值 (SKAdNetwork)。
几个小时后我找到了答案:
- (void)signInToItunes {
XCUIApplication *app = [[XCUIApplication alloc] init];
[app typeText:@"YourAppleID"];
sleep(2);
[[app.secureTextFields firstMatch] tap];
[app typeText:@"YourPassword"];
sleep(2);
[app.buttons[@"Sign In"] tap];
}
我正在为我的应用编写 UI 测试。 虽然测试是 运行 我得到一个 'Sign In to Complete Purchase' 提示:
我能够填写 'Apple ID' 文本字段,因为键盘已经打开并准备好填写它 - 为此,我使用了:
XCUIApplication *app = [[XCUIApplication alloc] init];
[app typeText:@"My iTunes username"];
但我无法模拟点击密码字段。我不知道如何在 UI 中找到它。我尝试了很多选项(但没有一个有效):
XCUIElementQuery *collectionViewsQuery = app.collectionViews;
[collectionViewsQuery.textFields[@"password"] tap];
[collectionViewsQuery.textFields[@"Password"] tap];
[[collectionViewsQuery.textFields firstMatch] tap];
[collectionViewsQuery.secureTextFields[@"password"] tap];
[collectionViewsQuery.secureTextFields[@"Password"] tap];
[[collectionViewsQuery.secureTextFields firstMatch] tap];
XCUIApplication *springboard = [[XCUIApplication alloc] initWithBundleIdentifier:@"com.apple.springboard"];
[[springboard.alerts firstMatch].textFields[@"password"] tap];
[[springboard.alerts firstMatch].textFields[@"Password"] tap];
我认为真正的问题是我无法获得相应的视图(或本例中的 collectionView)。 我试着查看 Apple 文档,但找不到任何内容。 我确实看到了为应用内购买测试添加配置文件的选项,但就我而言,我不测试应用内购买。我从我的应用程序中下载另一个应用程序以检查 AWS 设备场上的转化值 (SKAdNetwork)。
几个小时后我找到了答案:
- (void)signInToItunes {
XCUIApplication *app = [[XCUIApplication alloc] init];
[app typeText:@"YourAppleID"];
sleep(2);
[[app.secureTextFields firstMatch] tap];
[app typeText:@"YourPassword"];
sleep(2);
[app.buttons[@"Sign In"] tap];
}