【问题标题】:Xcode UI Testing - can't find element that was just recordedXcode UI 测试 - 找不到刚刚记录的元素
【发布时间】:2016-07-29 19:59:19
【问题描述】:

我正在尝试 Xcode UI 测试。我刚刚录制了一个简单的测试并重放了它,但第一步失败了。代码是:

XCUIApplication *app = [[XCUIApplication alloc] init];
XCUIElementQuery *scrollViewsQuery = app.scrollViews;
[[scrollViewsQuery.otherElements containingType:XCUIElementTypeStaticText identifier:@"First Page"].element tap];

失败的行是最后一行,错误消息是“UI 测试失败 - 未找到 ScrollView 的匹配项”

为什么会失败?如何在此视图中与此元素交互?

【问题讨论】:

    标签: ios objective-c xcode-ui-testing ui-testing uitest


    【解决方案1】:

    您的应用程序是偶然的菜单栏应用程序吗?我发现 XCUITest 在专门处理查找属于菜单栏应用程序的元素时存在错误。

    尝试确保在您的“MYAPP-Info.plist”文件中,条目“Application is agent (UIElement)”设置为“NO”。

    【讨论】:

      【解决方案2】:

      尝试直接引用静态文本,而不是通过 otherElements 访问器。

      [scrollViewsQuery.staticTexts[@"First Page"] tap];

      【讨论】:

      • 我得到了同样的错误。定位滚动视图而不是其中的静态文本似乎是一个错误?
      • 然后尝试在应用程序上直接访问它。 [app.staticTexts[@"First Page"] tap];
      • 现在我得到 UI 测试失败 - 找不到静态文本的匹配项。同一页。我什至在此之前添加了 5 秒的睡眠,以防万一它没有以某种方式完全加载。
      猜你喜欢
      • 2011-05-22
      • 2021-09-09
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      • 2011-01-27
      相关资源
      最近更新 更多