xpath - 无法通过 xpath 和 AndroidUIAutomator 点击登录按钮
问题描述
我使用过 xpath & androidUiAutomator 但无法成功。以下是详细信息:
对于我使用的 Xpath://android.widget.TextView[@text='Sign In']
对于我使用的 AndroidUiAutimator: return driver.findElementByAndroidUIAutomator("text(\"Sign In\")");
public void MainLogin() throws InterruptedException {
System.out.println("Enter in Epcl_MainLogin");
TouchAction touch=new TouchAction(driver);
WebDriverWait wt=new WebDriverWait(driver,20);
LoginPom objLogin = new LoginPom(driver);
wt.until(ExpectedConditions.visibilityOf(objLogin.LoginName()));
objLogin.LoginName().sendKeys("Testa");
TimeUnit.SECONDS.sleep(2);
driver.hideKeyboard();
objLogin.LoginPassword().sendKeys("Testb");
TimeUnit.SECONDS.sleep(4);
driver.hideKeyboard();
objLogin.BtnLogin().click();
System.out.println("Button Clicked Successfully");
TimeUnit.SECONDS.sleep(8);
System.out.println("Login Successfully");
}
解决方案
您可以将内容描述添加到您的登录按钮(在您的 android 代码中)。然后,您将能够使用单击按钮
driver.findElementByAccessibilityId("your content description").click()
您还可以将 id 添加到您的按钮并使用以下命令单击它:
driver.findElementById("you button id").click();
不推荐在 appium 中使用 xpath
推荐阅读
- python - Excel自动过滤范围:保持范围不变/避免自动添加行
- python - 在 python 中使用 scipy 和 librosa 读取 wav 文件
- css - 带有渐变叠加和背景图像的 SVG 圆角三角形
- java - Kotlin 父子类初始化顺序
- c++ - 我动态添加了一个按钮,如何在 Qt 的另一个 void 中使用这个按钮?
- java - MongoDB java 列出数据库名称和与之相关的集合
- django - 如何将自定义 Django 表单验证错误显示为标准弹出窗口
- kotlin - 如何有效地阅读/解释这段 Kotlin 代码?
- sql - COALESCE(SUM(...),0) COALESCE(COUNT(...),0) 在我的代码中不起作用
- c# - 如何使用脚本任务声明工作表?