zoukankan      html  css  js  c++  java
  • APP和WEB元素定位方法

    经过较长时间的自动化编写,个人认为,UI自动化的精髓除了设计思路,那就是元素定位了!接下来就介绍常用的定位方法以及写法!

    一、APP元素定位工具及写法

    还记得RF(一)中,安装过一个Android SDK吗?这个工具就在sdk目录下,它叫做uiautomatorviewer.bat

    (路径:android-sdk-windows oolsuiautomatorviewer.bat)

    它长这个样(双击打开):

    下面,我们用某鹅介绍一下APP元素定位的用法及写法(看图!)

    1、首先!我们需要连接手机(使用adb devices命令查看是否连接成功,RF(一)中也有介绍)

    2、将我们要获取元素的APP打开,停留在当前界面。点击uiautomatorviewer工具的这个按钮,就可以把手机界面获取出来

    3、将鼠标移动到需要获取元素的位置,点击一次(然后右面就会显示这个元素的相关信息,见下图!)

     4、现在!就可以写相关的定位了!(选择的“新用户”按钮)

    使用text定位:xpath=//*[@text='新用户']

    (如果有唯一的文本的话,建议使用文本定位。优点1、可以让其他维护的同学一眼就知道这个步骤是操作哪里。2、简单不易写错)

    使用id定位:xpath=//*[@resource-id='com.tencent.mobileqq:id/btn_register']

    (使用id定位的优点:id一定是唯一的,如果不修改素材,这个id基本不会变,可以降低维护成本)

    使用xpath路径定位:父节点定位、子节点定位、兄弟节点定位(写法往下看 ↓ )

    (优点:无!但是碰到没有唯一值的元素,使用xpath路径还是个不错的选择!)

    checked属性:(再多介绍一个属性checked)这个属性我常用在判断手机某权限是否打开,比如通知权限(测消息通知使用)、位置权限、相机权限等

    checked数值为true,则开关为打开状态,checked数值为flase,则开关为关闭状态

    二、WEB元素定位

    这里使用的是chrome浏览器,用某度做介绍。

    1、打开baidu.com,点击F12,选择Elements(或者界面上右键某元素,点击检查)

    2、接下来,我们就来使用 百度搜索的数据框 讲解一下web的八大定位! 

    1)id定位(涉及selenium):driver.find_element_by_id("kw")

    2)name定位(涉及selenium):driver.find_element_by_name("wd")

    3)className定位(涉及selenium):driver.find_element_by_class_name("s_ipt")

    4)tagName定位(涉及selenium):driver.find_element_by_tag_name("input")

    5)linkText定位(涉及selenium):driver.find_element_by_link_text(a标签的文本内容,精准匹配)  比如:driver.find_element_by_partial_link_text(“百度首页”)

    6)partialLinkText定位(涉及selenium):driver.find_element_by_partial_link_text(a标签的部分文本内容,模糊匹配) 比如:driver.find_element_by_partial_link_text(“首页”)

    7)cssSelector定位(涉及selenium):driver.find_element_by_css_selector(#kw)

    8)xpath定位

    绝对定位:单斜杠“/”开头(缺点:很不稳定,所以不推荐)(写起来太长了,偷懒写了个好找的)/html/body/div/div/div[3]/a

    相对定位(推荐!)双斜杠“//”开头

    1)//标签名[@属性名=值]://input[@id="kw"]

    2) //标签名[contains(@属性名,部分属性值)]://input[contains(@id,"kw")]

    3)轴定位:已知的元素/轴名称::标签名称[@属性名称=属性值]

    【轴定位下一篇详细说一下!】

  • 相关阅读:
    Android 面试知识集1
    Android 开发自己的网络收音机2——电台列表(SlidingMenu侧滑栏)
    Android 程序drawable资源保存到data目录
    Android 开发自己的网络收音机1——功能要求及设计方案
    Android内存机制分析2——分析APP内存使用情况
    Android内存机制分析1——了解Android堆和栈
    Android Gallery实现3D相册(附效果图+Demo源码)
    Android 后台发送邮件 (收集应用异常信息+Demo代码)
    纯代码写UI的时候,如何指定style?
    解决SimpleCursorAdapter不能自动更新的问题
  • 原文地址:https://www.cnblogs.com/x495122903/p/12886882.html
Copyright © 2011-2022 走看看