ai didi

java - 无法点击 android.widget.ImageButton

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:21 24 4
gpt4 key购买 nike

我尝试过以下定位器

driver.findElement(By.xpath("//android.widget.ImageButton[@content-desc='Open navigation drawer']")).click();
or
driver.findElement(By.xpath("//android.widget.ImageButton[@index='0'])")).click();
or
driver.findElementByXPath("(//android.view.ViewGroup)[1]").click();

Click on highlighted button

下载= Link

Not able to click on image button.

@Test
public AndroidDriver<AndroidElement> Loging() throws MalformedURLException, InterruptedException {

File file = new File("src/test/java", "opentap-v1.1-28012019.apk");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Pixel_C_Edited_API_28");
capabilities.setCapability(MobileCapabilityType.APP, file.getAbsolutePath());
AndroidDriver<AndroidElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"),
capabilities);
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.findElement(By.id("com.opentap:id/btn_go")).click();
driver.findElement(By.id("username")).clear();
driver.findElement(By.id("username")).sendKeys("kaustubh.patil");
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys("opentapuat");
driver.findElement(By.id("rememberMe")).click();
driver.findElement(By.id("kc-login")).click();
// driver.findElement(By.id("com.opentap:id/btn_go")).click();
// Thread.sleep(10000);
// driver.findElement(By.xpath("//android.widget.ImageButton[@index='0'])")).click();
// driver.findElementByXPath("(//android.view.ViewGroup)[1]").click();

// WebDriverWait wait = new WebDriverWait(driver, 25);
// WebElement element =
// wait.until(ExpectedConditions.elementToBeClickable(By.id("com.opentap:id/add")));
/*
* try { Thread.sleep(1000); WebDriverWait wait = new WebDriverWait(driver, 30);
* wait.until(driver .findElement(By.
* xpath("//android.widget.ImageButton[@content-desc='Open navigation drawer']")
* )); } catch (Throwable error) {
* Assert.fail("Timeout waiting for Page Load Request to complete."); }
*/
driver.manage().timeouts().setScriptTimeout(25, TimeUnit.SECONDS);
driver.findElement(By.xpath("//android.widget.ImageButton[@content-desc='Open navigation drawer']")).click();
return driver;
}

DOM

最佳答案

您可以使用触摸操作类和指针来执行您的要求。使用下面的代码片段,它将完美地适用于每个具有抽屉式导航栏的应用程序(我已经尝试过许多应用程序,工作得很好)。

TouchAction action = new TouchAction(driver);
action.tap (10, 100).perform();

这里,10是X指针,100是Y指针。为什么我将 x 指定为 10 是因为,drawar 图像将位于 0-15 范围之间,并且您还必须确保 Drawar 位置(对于某些应用程序,它可能位于右侧,然后您必须相应地给出坐标)。

关于java - 无法点击 android.widget.ImageButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54443278/

24 4 0
文章推荐: java - Android 语音调用桌面
文章推荐: css - Font Awesome 不工作(空白方 block )
文章推荐: linux - Bash 错误报告
文章推荐: html - 使用标签和单选按钮作为 CSS 钩子(Hook)是否适合 HTML?
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com