Appium,无法在Android原生应用上阅读包含内容desc和索引的文本

时间:2016-11-20 06:19:13

标签: java android selenium xpath appium

我在原生Android应用程序上使用Appium版本(1.4)

enter image description here

我想阅读红色框中的文字节目。 我也无法根据content-desc和index找到元素。

这些是我尝试过但未能找到它的一些代码。

  1. 根据索引

    选择父子
    driver.findElement(By.xpath("//android.view.View[@index='2']/android.view.View[@index='0']"))
    
  2. 使用class和content-desc

    driver.findElement(By.xpath("//android.widget.Button[@content-desc='Your balance is: 100.00$ ']")).click();
    
  3. 使用类并迭代列表

    List<WebElement> arrayOfProperties2 = driver.findElements(By.xpath("//android.view.View"));
    System.out.println("Found arrayOfProperties2 total: "+ arrayOfProperties2.size());
    
  4. 在这种情况下,列表的大小为零。

    该方案是阅读自余额变化后显示的文字。

    我能够在活动中找到其他元素,但不能找到上面的元素。

2 个答案:

答案 0 :(得分:1)

尝试使用以下xpath:

//*[@class = 'android.view.View' and contains(@content-desc,'Your balance is')]

希望这会对你有所帮助,让我知道会发生什么。

答案 1 :(得分:-1)

使用AndroidViewClient/culebra会很容易。

使用

启动Culebra GUI
culebra --use-regexps --gui

,生成的脚本将包含类似

的行
no_id25 = vc.findViewWithContentDescriptionOrRaise(re.compile(u'''Your balance is: 100.00$ Heading'''))

将其更改为更合适的正则表达式

no_id25 = vc.findViewWithContentDescriptionOrRaise(re.compile(u'''Your balance is: \d+.\d+\$ Heading'''))

它应与您的视图相匹配。

严格地说,如果您不打算进行互动并且只想匹配视图,则可以在没有--gui的情况下运行它。