我正在使用appium创建自动测试来测试android应用.我现在面临的问题是我无法选择一个复选框,因为该复选框包含链接的文本.
WebElement termsAndConditionsCheckBox = (new webdriverwait(driver, 60)).until(ExpectedConditions.presenceOfElementLocated(By.id(baseTest.getAndroidElementId("checkBox_terms_and_conditions"))));
termsAndConditionsCheckBox.click();
在应用程序代码中,复选框的文本设置如下:
mCheckBoxTermsAndConditions.setText(Html.fromHtml(mSignUpAcceptTermsAndConditions));
mCheckBoxTermsAndConditions.setMovementMethod(LinkMovementMethod.getInstance());
从android设备上的调试选项中,我打开了这些选项,以查看click事件的指针位置,并且我在复选框(框文本)的中心看到鸦片点击,不幸的是,该点包含链接的文本,因此webview启动,而不是“选中”复选框
我在appium中没有看到自定义的click(),这使我可以选中该复选框.
将不胜感激任何想法/帮助.
解决方法:
您可以使用查找元素By.className代替By.id.
因此,对于多个这样的元素,您可以使用索引(在本例中为0)对其进行引用.
WebElement submit = (WebElement) driver.findElements(By.className(RAdio_BUTTON)).get(0);
submit.click();
希望这会有所帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。