1、如果目标元素有id属性,优先使用id定位;

2、元素locator尽可能保证简洁,考虑locator中路径的变化频率,尽量减少后期更新和维护成本;

3、使用xpath时,不要一味的使用‘/’逐层进行选择;合理使用‘/’和‘//’,能简化表达式;

4、尽量使用函数和运算符,如contains(),text(),position()等;运算符包括算数运算符或逻辑运算符等;

以下举例xpath常用语法:

1) xpath=//img[@alt='The image alt text']

2) xpath=//table[@id='table1']//tr[n]/td[n]

3) xpath=//a[contains(text(), 'test')]      text属性使用text()

4) xpath=//a[contains(@href, '#id1')]/a[n]       其余属性则使用@属性名

5) xpath=//table[@class= 'style']//th[text()= 'xxx']/../td    其中../表示从子元素逆向定位父元素

6) xpath=//*[text()='right']

7) xpath=//*[starts-with(@href, 'xxx')]

8) xpath=//*[ends-with(@href, 'xxx')]

9) xpath=//*[matchs(text(), 'xxx')]    可使用正则表达式

10) xpath=//input[@name='name1' and @value='yes']     支持逻辑运算符and/or/not

以下举例css常用语法:

1) css用#表示id属性,如#kw

2) css用.表示class属性,如.slipt

3) css可直接使用标签名称,无任务标识符,如input

4) css通过其他属性定位时写为:css=[name='kwname']

5) css也可通过标签和属性组合定位,如css=[a.text='xxx']

关于UI自动化中元素定位常用方法的个人总结的更多相关文章

  1. (appium+python)UI自动化_03_元素定位工具

    前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorvie ...

  2. python ui自动化之元素定位和常用操作

    做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 ...

  3. UI自动化之元素定位(xpath、css)

    很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...

  4. 关于UI自动化IOS元素定位方法说明

    1. 元素属性介绍 下图是通过weditor定位的微博的"我的钱包",各属性如下图: className:元素类型,如:XCUIElementTypeButton isEnable ...

  5. 【基础】selenium中元素定位的常用方法(三)

    一.Selenium中元素定位共有八种 id name className tagName linkText partialLinkText xpath cssSelector 其中前六种都比较简单, ...

  6. Python+Appium自动化测试(5)-appium元素定位常用方法

    对于Android而言,查找appUI界面元素属性的工具有三种:appium desktop,uiautomatorviewer.bat,weditor.之前已经介绍过了weditor的使用,这里我将 ...

  7. selenium+python自动化之元素定位

    自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...

  8. python3+Appium自动化12-H5元素定位环境搭建

    前言 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素 ...

  9. selenium8中元素定位方式

    Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进行后续的自动化控制,我在这里将对各种元素定位方式进行总结归纳一下. 这里将统一使用百度 ...

随机推荐

  1. Ionic2 渐变隐藏导航栏|标题栏

    废话少说 直接上代码.... //导入需要用到的命名空间 ViewChild,Content import { Component, ViewChild } from '@angular/core'; ...

  2. windows 下安装MySQL 服务无法启动类问题

    解决方案: 1 执行 mysqld.exe -nt remove 2 执行 mysqld --initialize(中间是两个中划线) 3 执行 mysqld.exe -nt install 4 执行 ...

  3. Javascript学习一数据类型

    1.介绍js的基本数据类型 Undefined.Null.Boolean.Number.String (1) Undefined和Undifined区别 null是一个表示"无"的 ...

  4. JS调用本地设备

    JS 允许通过 navigator.mediaDevices.getUserMedia(options) 直接调用本地的设备,比如麦克风,摄像头等.因为该操作涉及到用户隐私,所以调用的时候会弹框请求权 ...

  5. Python 死锁现象

    import time from threading import Thread,Lock,RLock def f1(locA,locB): locA.acquire() print('f1>& ...

  6. MATLAB细节笔记

    input函数 input('please input','s') 或者 input('please input').前者不管输入什么都会变成字符串,后者如果输入数字,那么matlab会识别成数字.如 ...

  7. Including R code in perl

    #example: use Statistics::R;#use R in perlmy $R = Statistics::R->new() ;$R->startR ;$R->sen ...

  8. 软件测试第四次作业—— 性能测试(含JMeter实验)

                                           性能测试(含JMeter实验) 一.概览 1.性能测试有几种类型,它们之间什么关系? 2.搭建并简单配置一个JMeter的 ...

  9. JDK无法卸载问题解决

    在控制面板卸载JDK时,显示正在收集删除文件,进度条满了之后就闪退了,但JDK还在,试了几次都是如此. 后来,发现微软官方出了“修复阻止程序安装或删除的问题”的应用,可以自动修复包括阻止你安装或删除程 ...

  10. windows 安装touch指令

    if you are using node.js just use npm to install it on Windows: C:\npm install touch-cli -g