如何在 SwiftUI 中正确设置辅助功能标识符?

And*_*lva 4 ios appium swift xcuitest swiftui

我希望能够在我的视图堆栈上点击一个具体的按钮。为了实现这一点,首先我在我的代码中设置了一个可访问性 ID:

Button(action: {
                 withAnimation(.easeOut(duration: 1)) {
                    self.modalShown.toggle()
                 }

                }) {
                      FilterButton()
                     .accessibility(identifier: "modalFilterViewBtn")
                    }
                    .buttonStyle(PlainButtonStyle())
                }
Run Code Online (Sandbox Code Playgroud)

所以,然后在我的文本案例中,我试图寻找那个 id:

IOSElement elem1 = driver.findElementByAccessibilityId("modalFilterViewBtn");
    wait.until(ExpectedConditions.elementToBeClickable(elem1));
    elem1.click();
Run Code Online (Sandbox Code Playgroud)

我得到的结果是:无法使用给定的搜索参数在页面上找到元素。(..)

最后,如果我使用 Appium 检查器来知道我想要的元素的可访问性 ID,它似乎是另一个与我在代码中设置的名称不同的名称:

在此处输入图片说明

即使我查找具有该 id("Filter") 的元素,在我的测试用例中也找不到它。

那么,使用 SwiftUI 设置此辅助功能 ID 的正确方法是什么?

谢谢

Asp*_*eri 10

我认为它应该像

Button(action: {
    // action here
}) {
    // button label view here
}
.buttonStyle(PlainButtonStyle())
.accessibility(identifier: "modalFilterViewBtn")
Run Code Online (Sandbox Code Playgroud)