首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使元素存在于层次结构中,也会引发kGREYNoMatchingElementException。

即使元素存在于层次结构中,也会引发kGREYNoMatchingElementException。
EN

Stack Overflow用户
提问于 2018-07-06 03:21:05
回答 1查看 345关注 0票数 0

代码语言:javascript
复制
    let label_interactable_matcher = grey_allOf([grey_accessibilityLabel("お知らせ"), GREYMatchers.matcherForInteractable()])
    let action = GREYActions.actionForTap()
    EarlGrey.selectElement(with: label_interactable_matcher).atIndex(0).perform(action)

异常

异常名称: NoMatchingElementException异常原因:找不到UI元素。动作例外:{ "Action“:"Tap","Element”:"(((respondsToSelector(isAccessibilityElement) && isAccessibilityElement && accessibilityLabel(‘お知らせ’)&interactable),“恢复建议”:“检查下面打印的UI层次结构中是否存在元素。如果存在,请调整匹配器,使其与元素准确匹配。”}

异常详细信息:[{“描述”:“由于找不到所需的元素而无法继续交互。”、“错误域”:"com.google.earlgrey.ElementInteractionErrorDomain",“错误代码”:"0“、”文件名“:"GREYElementInteraction.m”、“函数名”:"-GREYElementInteraction matchedElementsWithTimeout: Error :“、"Line":"124”、"TestCase Class":"MyAppTests.Myunittest","TestCase方法“:"testExample”}]

视图层次结构

ECKit_iOS.IconButton:0x7f86af9aea00;AX=Y;AX.label='お知らせ';AX.frame={{351,81},{55,50};AX.activationPoint={378.5,106};AX.properties=‘UIAccessibilityTraitButton’;AX.ocus=‘N’;frame={{0,0},{55,50}};alpha=1> -UIButtonLabel:0x7f86aed75130;AX=Y;AX.label='お知らせ';AX.frame={{362,115},{33,10};AX.activationPoint={378.5,120};Frame={11,34},{33,10};alpha=1;UIE=N;お知らせ=‘お知らせ’>

屏幕截图失败

关注

  1. 视图层次结构与正在打印的异常之间存在矛盾。
  2. 如果异常为"NoMatchingElementException“,为什么恢复建议会说”检查元素是否存在于下面打印的UI层次结构中。如果存在,调整匹配器,使其与元素准确匹配“。
  3. 在我的现有应用程序安装后,如果我添加一个新的XCTestCase在单元测试目标,应用程序显示在黑色背景(我期待它在白色)。
  4. 对于常见问题中的screen建议,快速实现解决方案似乎很难实现(应该在测试模块& rootViewController类中导入app模块)。
  5. 通过在单元测试目标和直接启动应用程序的播放按钮运行应用程序。出现意外的黑色背景而不是白色背景。

  1. 我们不能在单元测试目标中使用来自UI测试目标的自动生成代码&如果我们同时选择Xcode的UI测试和EarlGrey,UI测试的管理就变得困难了
  2. 失败时截图(黑色屏幕)与视图层次结构相矛盾
EN

回答 1

Stack Overflow用户

发布于 2018-07-06 07:03:10

  • 视图层次结构与正在打印的异常之间存在矛盾。

你能进一步解释一下这个矛盾是什么吗?

  • 如果异常为"NoMatchingElementException“,为什么恢复建议会说”检查元素是否存在于下面打印的UI层次结构中。如果存在,调整匹配器,使其与元素准确匹配“。

通常情况下,元素可以在层次结构中,但不能相互执行。就像。部分隐藏或不可访问的元素。

  • 在我的现有应用程序安装后,如果我添加一个新的XCTestCase在单元测试目标,应用程序显示在黑色背景(我期待它在白色)。

您可能需要检查测试目标的xcode中的测试主机是什么。

  • 对于FAQ中的screen建议,快速实现解决方案似乎很难实现(应该在测试模块& rootViewController类中导入应用程序模块)。

对于EG 1来说,这应该很好,因为应用程序和测试程序都在同一个过程中。

  • 我们现有的应用程序显示在黑色背景后,我添加和运行一个新的测试用例在单元测试目标。

它在UI测试中运行良好吗?测试主机设置正确吗?

  • 我们不能在单元测试目标中使用来自UI测试目标的自动生成代码&如果我们同时选择Xcode的UI测试和EarlGrey,UI测试的管理就变得困难了

例1是基于XCTest单元测试的工具,不能使用UI测试工具。我们正在努力尽快发布的示例2允许您使用XCUITest命令。

  • 失败时的截图(黑屏)与视图层次结构相矛盾。

我不确定这一点,这似乎是一个应用程序方面的问题。你应该放我们一马,在那里更详细地谈谈这件事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51202584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档