等待可访问性ID单击元素



我试图在尝试单击它之前进行等待元素。如果我不等待,我的测试因NoSuchElementException失败。现在,我正在等待文本,但我希望能够等待accessibilityId。我注意到accessibilityId不是By中的选项。我该如何处理?

_driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"),capability);
var wait = new WebDriverWait(_driver,new TimeSpan(0,0,0,15));
wait.Until(ExpectedConditions.ElementIsVisible(
     By.XPath("//android.widget.TextView[@text='Bypass Sign In (Testing Only)']")));
_driver.FindElementByXPath("//android.widget.TextView[@text='Bypass Sign In (Testing Only)']").Click();;

更新:我注意到有一个手机级课程,其中有一个策略以供可访问性ID,但是当我尝试使用nosuchelementException立即实现等待时,我的测试就会失败。一旦我使用XPATH等待了足够长的时间,然后单击_driver.FindByAccctibilityId,它似乎可以识别该按钮并单击它。

下面的代码失败。
'var wait = new WebDriverWait(_ driver,new Timespan(0,0,0,45((;

        wait.Until(ExpectedConditions.ElementIsVisible(MobileBy.AccessibilityId("Button_SignIn")));
        _driver.FindElementByAccessibilityId("Button_SignIn").Click();'

工作代码

`var wait = new WebDriverWait(_driver, new TimeSpan(0, 0, 0, 45));
        wait.Until(ExpectedConditions.ElementIsVisible(
            By.XPath("//android.widget.TextView[@text='Bypass Sign In (Testing Only)']")));
        _driver.FindElementByAccessibilityId("Button_SignIn").Click();`

我刚刚弄清楚C#中有一个移动性类,其可访问性定位器可作为by Type可用,但它并没有真正做到我期望它对

最新更新