2014年的最后一天,以一篇短文纪念一下. 经常看到有同学说UI自动化测试定位难,找不到北.这话是不错的,定位是难,灵活且复杂,需要经验加技术,但是有写东西是可以提炼出来作为思想去推而广之的. 简单来说,UI元素定位思想应该如下: 大道至简 大道至简指的是有明显特征的元素一定要用明显的特征去定位.比如有id有name的元素,就不要舍近求远,一定要用最简单的办法去定位. 分而治之 一般来说,良好的html代码页面结构是很清晰的.很多同学在用class定位的时候经常会发现页面上有很多同名class,…
定位方式优先级选择:  ID>Name>CSS>XPath 1.使用id定位 2.使用name定位 3.使用class定位 4.使用css选择器定位 示例xml: <?xml version="1.0" encoding="UTF-8"?>     <bookstore>   <book>   <title lang="eng">Harry Potter</title>…
做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 driver.find_element_by_id('su') 2.通过name定位 driver.find_element_by_name('mp') 3.通过class属性 driver.find_element_by_class_name('s_ipt') 4.通过文本链接 driver.f…
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面介绍过根据id,classname, accessibilityid,xpath来定位元素,其他这些方法底层都是利用了 UI Automator 的 API 功能实现的 UI Automator 介绍 UI Automator 测试框架提供了一组 API 来构建 UI 测试,用于在用户应用和系统应用中执行交互 利用 UI…
很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍然无法定位)方法:根据实际目录,逐层输写.例子: find_element_by_xpath("/html/body/div[1]/span/input/a")  # div[1]指第1个元素二.相对路径(推荐使用) 方法:找到元素有”精准元素“即唯一能标识的属性: # 1.通过id定位(…
背景: 元素定位的方式很多,有通过 id.name.class等等,有感兴趣的同学可以参看相关文档,本文介绍 跟过文字定位的方法,在工作中一直使用这一种 no bb 方法如下: 1.根据"我是文字"定位 xpath=(//*[contains(text(),'我是文字')]) 2.多个"我是文字"定位 xpath=(//*[contains(text(),'我是文字')])[1] 3."我是文字"附近定位,定位下一个span元素 xpath=(/…
本篇文章整理了元素定位的基础知识——iframe框架中的元素定位. 一.iframe框架元素定位 iframe是Html页面的内联框架,如果在自动化测试中无法定位到某个元素,那么很有可能是因为该元素在iframe框架中.先来看一下下面3段代码,分别是origin.html和2个iframe框架页面. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g…
本篇文章整理了元素定位的基础知识——多个元素定位方式. 一.多个元素定位方式简介 同单个元素定位方式相同,多个元素定位方式也有与之对应的8种方式,即id.name.class_name.tag_name.link_text.partial_link_text.xpath和css_selector.不同的是方法名中element需要写成复数形式.多个元素定位得到的结果通常是一个列表类型,可以通过索引方式访问具体元素. 二.实例 以百度首页为例,通过find_elements_by_tag_name…
本篇文章整理了元素定位的基础知识——单个元素定位方式. 一.单个元素定位方式简介 1. find_element_by_id 通过元素的id属性进行定位.以百度首页为例,首先进入https://www.baidu.com,按F12进入开发人员页面,然后单击调试窗口的左上角的选择图标,然后选中百度搜索框,即可看到调试窗口对应所选元素的代码突出显示,如下图,可以看到百度搜索框的id为kw. 2. find_element_by_name 通过元素的name属性进行定位.如上图,百度搜索框的name为…
在百度首页,通过文字,父子元素,兄弟元素进行定位 一.文字定位: 通过界面上的文字进行定位,注意如果同一个页面上存在多个同样的文字的情况,返回的值会是多个,建议只存在一个情况下才用这方法. 如:定位百度界面上的“地图”文字: 就可以通过:driver.find_element_by_xpath("//*[text()='地图']") ,进行定位. driver = webdriver.Chrome()driver.implicitly_wait(20)driver.get("…