Swift 在UITest的iTunes提示中填写密码字段

Swift 在UITest的iTunes提示中填写密码字段,swift,objective-c,uitest,skadnetwork,Swift,Objective C,Uitest,Skadnetwork,我正在为我的应用程序编写UITest。 测试运行时,我会收到“登录以完成购买”提示: 我能够填充“Apple ID”文本字段,因为键盘已经打开并准备好填充它-为此,我使用了: XCUIApplication *app = [[XCUIApplication alloc] init]; [app typeText:@"My iTunes username"]; 但我无法模拟对密码字段的点击。我不知道如何在UI中找到它。我尝试了很多选择(但没有一个有效): 我认为真正的问题是

我正在为我的应用程序编写UITest。 测试运行时,我会收到“登录以完成购买”提示:

我能够填充“Apple ID”文本字段,因为键盘已经打开并准备好填充它-为此,我使用了:

XCUIApplication *app = [[XCUIApplication alloc] init];
[app typeText:@"My iTunes username"];
但我无法模拟对密码字段的点击。我不知道如何在UI中找到它。我尝试了很多选择(但没有一个有效):

我认为真正的问题是我无法获得相应的视图(在本例中是collectionView)。 我试着查看苹果的文档,但什么也找不到。
我确实看到了为应用内购买测试添加配置文件的选项,但就我而言,我不测试应用内购买。我从我的应用程序中下载另一个应用程序,以检查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];
}
- (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];
}