gpt4 book ai didi

ios - XCUITest:找不到匹配元素

转载 作者:行者123 更新时间:2023-12-01 16:14:14 26 4
gpt4 key购买 nike

我在作为 ChildViewController 呈现的 ViewController 上有一个关闭按钮。我已打开此按钮的辅助功能,辅助功能标识符为 closeButton .这个按钮没有任何文本,它只有一个图像。

我正在尝试测试此 View 的呈现和解除,但遇到了一个问题,XCUITest 找不到该元素。我的测试代码是:

app.buttons["PresentChild"].tap()
XCTAssertTrue(app.otherElements["ChildViewController"].exists)
XCTAssertTrue(app.buttons["closeButton"].exists)

第一个断言通过,但第二个断言失败。

我尝试执行“记录 UI 测试”以选择按钮以使其自动生成,但随后我收到一条错误消息 Failed to find Matching Element .我尝试删除模拟器上的所有内容并删除所有派生数据,但这也不起作用。

有谁知道 Xcode 中这个明显错误的解决方法?我无法通过录制访问元素,我无法通过辅助功能访问元素,我对如何访问此按钮一无所知。

最佳答案

我不知道您的断言的确切问题是什么。但这些步骤可能会对您有所帮助。

  • 在此行设置断点 XCTAssertTrue(app.otherElements["ChildViewController"].exists)
  • 现在运行测试用例。当控件到达此行时,在调试器中键入此行 po XCUIApplication().buttons.debugDescription然后点击进入按钮
  • 它将打印当前 View 中的所有按钮。现在检查“closeButton”是否存在于该列表
  • 如果存在,请检查标识符名称。确保它是 "closeButton" (标识符区分大小写,标识符中的空格也很重要)
  • 如果标识符正确,请尝试找出 closeButton 的确切 View 层次结构。意味着,而不是像 app.buttons["closeButton"].exists 那样检查, 试试 app.navigationBars.otherElements["someName"].buttons["closeButton"].exists

  • (这看起来很有趣,但是给出元素的确切位置路径是一个很好的做法,并且有时会起作用)

    备注 : 如果系统在对元素执行操作时无法找到具有正确标识符的元素,则会在 UI 录制中出现此错误“ Failed to find Matching Element”。所以我的猜测是,您的 closeButton 没有正确的标识符,或者它没有添加到当前窗口。

    干杯!!

    关于ios - XCUITest:找不到匹配元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50918734/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com