当前位置: 首页 > 知识库问答 >
问题:

在Android 7 Emulator中找不到使用最新Appium的元素

凌运恒
2023-03-14

我写了测试自动化脚本为Android使用selenium和AppiumJava作为编码语言。脚本在Android 6模拟器上工作得非常好。但是,在Android 7模拟器上,驱动程序启动应用程序,但无法找到应用程序上的任何元素。

示例代码:

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability("noReset", "true");

capabilities.setCapability("deviceName", "Nexus_5_API_24_Automation");

capabilities.setCapability("platformName", "Android");

capabilities.setCapability("app","D:\\MyProject\\apk\\test-app-6.31.11.apk");

capabilities.setCapability("newCommandTimeout", 0);

try {       
     driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);   
} catch (Exception e) {     
    Assert.fail("The app launched failed.");
 }

CommonUtils.waitInSeconds(10); // Custom method with Thread.sleep() method to wait for 10 secs


driver.findElement(By.xpath("//android.widget.TextView[@text='Device']")).click();


driver.closeApp();

driver.quit();

其中android.widget.TextView是类名,文本属性包含作为文本的设备。

当我运行这个时,它在驱动程序处失败。findElement步骤并抛出NoTouchElementException。

文本为“Device”的元素是一个选项卡名称,可见,并在Android 6 emulator上单击。

对于Android 6,我使用Appium 1.4.13 GUI版本。

对于Android 7,我使用Appium版本1.6.3非UI版本。

Appium客户端libs:java-client-4.1.2。罐子

请注意:我不能使用设备,因为我的组织目前没有这些设备。

我完全不知道是什么导致了这个问题。任何帮助都将不胜感激。提前谢谢!

共有1个答案

高弘光
2023-03-14

启动AppiaGUI检查器并检查该元素是否具有文本属性。您可以通过在GUI中提供模拟器名称并在CLI中启动Appium 1.6.3(因此启动appium 1.6.3,打开appium GUI 1.5并单击检查器),在设置中提供应用程序和其他人员的路径,它将起作用。

 类似资料:
  • 我是新来的。如果问题重复,很抱歉,但我没有找到解决方法。 我有一个问题--我无法使用Xpath定位元素,但我使用ID定位器定位它没有问题。见附件截图。这一问题不仅针对这一要素,而且也针对所有要素。看来Xpath根本不起作用。 我正在使用Appium 7.3.0(试用过不同版本),UIAutomator2,方法是在模拟器上设置,Android 8.1功能。 null 此外,我在需要的地方使用了和,因

  • 我的元素在屏幕上不可见,但当我使用.isDisplayed()方法时,我的代码如下 send_mail是要找到的元素的xpath。这是tracelog的帮助!我不能使用while循环进行迭代,直到元素在应用程序中被视为可见时才显示出来。

  • 自动化测试一直持续到最近(大约一个月前)。问题在于,在使用Appium inspect element工具以及在IOS上运行测试时,无法找到元素。 辅助功能ID选择器显示在Appium检查工具中,但是当您尝试使用相同的选择器搜索元素时,找不到元素。 注意:在Android上为相同的元素使用内容文件可以正常工作。 知道如何解决这个问题吗? 依赖关系: 应用依赖:

  • 我正在使用appium测试android混合应用程序。有人能告诉我如何使用UIAutomator查找元素吗?因为appium给出的xpath在我的例子中不起作用。 非常感谢!

  • 我有一个本机应用程序,可以打开几个网页查看页面。我正在应用程序上运行appium,以便在需要向下滚动以查找用户名和密码字段的web视图页面上进行一些自动化测试。我尝试了所有我能在网上找到的建议,但都不起作用。有人能帮忙吗?我正在运行:Appium v1.3.5 iOS 8.1 这是我的密码: 这是我尝试滚动到并输入用户名的元素 以下是错误消息: 我尝试了以下方法,但不起作用: 首先使用

  • 我想点击一个网站上的按钮。有没有一个代码可以让我通过使用文本字段来点击元素?我既不能使用资源id字段,也不能使用名称,因为它们是空的。我尝试使用xpath单击元素,但没有成功。