代码
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元素。 行动异常:{ “动作名称”:“点击”, “ Element Matcher”:“(((((respondsToSelector(isAccessibilityElement)&& isAccessibilityElement)&& accessibilityLabel('お知らせ'))&&可交互)”, “恢复建议”:“检查元素是否在下面打印的UI层次结构中存在。如果存在,则调整匹配器,使其与元素精确匹配。 }
异常详细信息:错误跟踪:[ { “ Description”:“由于找不到所需的元素,交互无法继续。”, “错误域”:“ com.google.earlgrey.ElementInteractionErrorDomain”, “错误代码”:“ 0”, “文件名”:“ GREYElementInteraction.m”, “ Function Name”:“-[[GREYElementInteractionmatchedElementsWithTimeout:error:]”, “ Line”:“ 124”, “ TestCase类”:“ MyAppTests.Myunittest”, “ TestCase方法”:“ testExample” } ]
查看层次结构
ECKit_iOS.IconButton:0x7f86af9aea00; AX = Y; AX.label ='お知らせ'; AX.frame = {{351,81},{55,50}}; AX.activationPoint = {378.5,106}; AX.traits ='UIAccessibilityTraitButton'; AX.focused ='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}; AX.traits ='UIAccessibilityTraitStaticText'; AX.focused ='N'; frame = {{11,34},{33,10}}; alpha = 1; UIE = N; text ='お知らせ'>
失败时的屏幕截图
关注点
答案 0 :(得分:0)
您能进一步解释一下矛盾是什么吗?
通常,元素可以在层次结构中,但不能交互。例如。部分隐藏或不可访问的元素。
您可能只想检查xcode中用于测试目标的测试主机。
对于EG 1,这应该可以正常工作,因为应用程序和测试都处于同一过程中。
对于UI测试是否可以正常工作?测试主机设置正确吗?
EG 1是基于XCTest单元测试的工具,不能使用UI测试。我们正在努力发布的EG 2,使您可以使用XCUITest命令。
我对此不确定,这似乎是应用程序方面的问题。您应该对我们的闲适状态进行ping操作,然后在此处详细说明。