java - 定位器不起作用,除了 WebView 中 Appium for Android 上的 id

标签 java android selenium testing appium

尝试对在 WebView 中编码的 Android 应用程序进行测试。我有一个应用程序,我正在尝试自动化测试用例。
我有一个登录屏幕,其中包含有 ID 定位器的电子邮件和密码。这很好,我能够找到元素。使用 ionic 制作的 IT 混合应用程序。登录按钮没有 id 定位器。
到目前为止,我已经尝试过这个东西。

MobileWebBrowserFactory factory;
AndroidDriver<WebElement> appiumdriver;
WebElement LoginElement = appiumdriver.findElement(By.id("username"));
LoginElement.click();
LoginElement.sendKeys("Test");

WebElement PasswordElement = appiumdriver.findElement(By.id("password"));
PasswordElement.click();
PasswordElement.sendKeys("Test");
// Hide Keyboard
appiumdriver.hideKeyboard();
Thread.sleep(2000);

            WebElement LoginButton = appiumdriver
                    .findElementByName("end");
它给了我一个异常(exception),即不允许定位器一直查找名称。我都使用过 Android 和 appium 驱动程序。
任何人都可以为此向我建议好的图书馆吗?我提前感谢您的帮助。
谢谢

最佳答案

我很久没有使用 Appium 了,所以也许我错了,但我记得,Appium 支持通过 id 定位元素或 xpath只要。
所以,而不是 findElementByName试试findElementByXpath .
定位器应该相应地改变,所以它会像

WebElement LoginButton = appiumdriver.findElementByXpath("//*[@name='end']");

关于java - 定位器不起作用,除了 WebView 中 Appium for Android 上的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67573047/

相关文章:

java - 使用 Jmeter Java API 以编程方式添加 header

java - RadioButton-CheckBox 组合

Selenium 3.0.1 与 safaridriver 在 waitForElementVisible() 上失败

java - 容器管理事务的 Activity

java - 使用 Mybatis 检查 SQL 注入(inject)的输入

java - 有时会使用唯一索引插入重复数据

android - 程序已成功安装但未在设备上显示

Android 主屏幕小部件动态调整文本大小

excel - 从下拉列表中选择后出现意外的 Selenium 行为

Selenium Webdriver Java 中的 JavascriptExecutor