zoukankan      html  css  js  c++  java
  • Android自动化测试怎么填写Xpath

    xPath获取控件方式

    2.1 通过判断控件属性获取控件

    控件的所有属性都可以用作判断,比如它的text,index,resource-id是否clickable等,例如:

    2.1.1 通过文本查找目标控件

    WebElement target1 = driver.findElementByXPath("//android.widget.TextView[contains(@text,'note2')]");assertThat(el.getText(),equalTo("note2"));

    2.1.2 通过index查找目标控件

    如果我们像下面的方式使用index为0来查找控件note2,那么将会失败,因为该xpath只是说“我要查找页面上 android.widget.TextView类型的index为0的控件“,但如背景所说我们事实上有3个TextView控件,其中最上面的和中间 的控件他们的Index都是0.所以最终获得的控件其实是Appium第一个找到的最上面文本为”Notes“的TextView。

    WebElement target2 = driver.findElementByXPath("//android.widget.TextView[contains(@index,0)]");assertThat(el.getText(),equalTo("note2"));

    那么我们就要想办法加多点路径,让xpath能分辨出需要的是下面的index为0的TextView,而不是上面的。观看上图的 UIAutomatorViewer控件的分层结构,发现这两个TextView是从LinearLayout开始分叉的,所以我们应该从该路径开始通过 数组下标指定我们需要的是”在LinearLayout下面的第二个FrameLayout下面的ListView下面的Index为0的 TextView:

    WebElement target3 = driver.findElementByXPath("//android.widget.LinearLayout[1]/android.widget.FrameLayout/android.widget.ListView/android.widget.TextView[contains(@index,0)]");assertThat(el.getText(),equalTo("note2"));
  • 相关阅读:
    Python高级特性-迭代
    Python列表生成式测试
    Python函数基础学习(定义、函数参数、递归函数)
    Html介绍,认识head标签
    Html介绍,认识html文件基本结构
    Html介绍,标签的语法
    Html介绍,认识html标签
    Html介绍,了解html与css关系
    Html介绍,如何用代码展示我制作的第一个网页?
    C++走向远洋——38(用对象数组操作长方柱类)
  • 原文地址:https://www.cnblogs.com/elenaPeng/p/6739980.html
Copyright © 2011-2022 走看看