我有一个简单的屏幕,有三个开关。我已经添加了accessibilityindefier到开关,并确认开关是启用的,hittable,而不是选定的。但是当我尝试点击()元素时没有得到响应。步骤通过,没有错误,开关状态没有改变。
let daSwitch = app.switches["LocationSwitch"]
daSwitch.tap()
我尝试了doubleTap(),并在点击之间放置sleeps。可访问性检查器也能够识别元素。
Tap()正在其他屏幕上的开关上工作,但不在此特定屏幕上。我不确定什么可以阻止识别/执行点击。
有什么建议吗?
Xcode版本:14.3(14E222b)
1条答案
按热度按时间eyh26e7m1#
检查开关元件是否正确识别:确保使用其可访问性标识符或标签正确标识了switch元素。要对此进行调试,可以将所有switch元素打印到控制台,并验证是否针对正确的元素:
使用基于坐标的点击:在某些情况下,tap()函数可能无法按预期工作。您可以尝试在switch元素上使用基于坐标的tap:
等待元素可命中:也有可能在您尝试点击开关时,开关还没有准备好进行交互。在尝试点击之前,请确保该元素是可点击的:
如果这对你有帮助就告诉我