尝试对在 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/