UI自动化测试3-元素定位

1. 安装 FireBugs 和 FirePath
我的建议是大家定位元素的时候,最好借助于Firefox浏览器,个人觉得方便好用。
下面我大概介绍下怎么安装FireBugs和FirePath
Firefox->附加组件->直接搜FireBugs 和 FirePath
装好以后重启浏览器就好了。

2. 页面元素定位常用方法:

1>通过Id:
WebElement element = driver.findElement(By.id(“…"));
eg. WebElement email = driver.findElement(By.id(“emailLink"));
2>通过Link Text:
WebElement element = driver.findElement(By.linkText(“…"));
eg. WebElement element = driver.findElement(By.linkText(“E-mail"));

3> 通过Name:
WebElement element = driver.findElement(By.name(“…"));
eg. WebElement element = driver.findElement(By.name(“userName"));
4>通过Xpath:
WebElement element = driver.findElement(By.xpath (“//…"));
eg. WebElement element = driver.findElement(By.xpath
(“.//*[@id=‘userName‘]"));

4. 页面元素定位其他方法

1>通过 Class Name:
List<WebElement> elements = driver.findElements(By.className(“…"));
eg. List<WebElement> cheese = driver.findElements(By.className(“Cheese));

2>通过 Tag Name:
WebElement element= driver.findElement(By.tagName(“…"));
eg. WebElement frame = driver.findElement(By.tagName("iframe"));

3>通过 Partial Link Text:
WebElement element = driver.findElement(By.partialLinkText(“…"));
eg. WebElement element = driver.findElement(By.partialLinkText(“cheese"));

4>通过cssSelector:
WebElement element = driver.findElement(By.cssSelector(“#..."));
eg. WebElement cheese = driver.findElement(By.cssSelector("#food
span.dairy.aged"));
这里的“#”代表id, “.”代表class

Selenium的使用都是基于网页HTML元素的,所以和开发规范是紧密联系到一起的,正
常开发设计过程域中的设计库中的编码规范中的命名规范提示我们在元素名字一定的情
况下,之后的version保证唯一性,不变性,即使此元素被隐藏,其命名仍然存在。
(所以大家在定位元素的时候,出现没有属性,定位不到的时候,不要气馁,可以找开发
帮忙添加元素属性。)

时间: 2024-07-28 18:58:05

UI自动化测试3-元素定位的相关文章

Web UI自动化测试基础——元素定位(二)

本篇文章整理了元素定位的基础知识——多个元素定位方式. 一.多个元素定位方式简介 同单个元素定位方式相同,多个元素定位方式也有与之对应的8种方式,即id.name.class_name.tag_name.link_text.partial_link_text.xpath和css_selector.不同的是方法名中element需要写成复数形式.多个元素定位得到的结果通常是一个列表类型,可以通过索引方式访问具体元素. 二.实例 以百度首页为例,通过find_elements_by_tag_name

UI自动化之——元素定位

一.概述 UI自动化要做的就是模拟鼠标和键盘对元素进行操作,单击.输入或鼠标悬停等操作,所有的这些操作都建立在找到元素的基础上,下面说一下,selenium的八大元素定位,重点说一下xpath元素定位. 二.selenium的八大元素定位 2.1 id定位 find_element_by_id() # 通过id属性来定位元素 2.2 name定位 find_element_by_name() # 通过name 属性来定位元素 2.3 class定位 find_element_by_class_n

UI自动化页面元素定位

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

XP定位(APP元素定位)

Appium app自动化测试经验分享-Xpath定位总结 在我看来,自动化测试中元素定位的倚天剑和屠龙刀莫过于 Xpath和CSS,但CSS只用于Web(之前已经分享过),这次就分享下Xpath的定位方法.本期讲的是Xpath定位运用到App. 一)Xpath定位 XPath即为XML Path 的简称,它是一种用来确定XML文档中某部分位置的语言. XML:一种标记语言,用于数据的存储和传递. 后缀.xml结尾 提示:Xpath为强大的语言,那是因为它有非常灵活定位策略: 二)Xpath定位

【selenium学习笔记】webdriver进行页面元素定位

[selenium学习笔记]webdriver进行页面元素定位 进行Web页面自动化测试,对页面上的元素进行定位和操作是核心.而操作又是以定位为前提的,因此,对页面元素的定位是进行自动化测试的基础. 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link te

UI自动化测试元素定位思想

2014年的最后一天,以一篇短文纪念一下. 经常看到有同学说UI自动化测试定位难,找不到北.这话是不错的,定位是难,灵活且复杂,需要经验加技术,但是有写东西是可以提炼出来作为思想去推而广之的. 简单来说,UI元素定位思想应该如下: 大道至简 大道至简指的是有明显特征的元素一定要用明显的特征去定位.比如有id有name的元素,就不要舍近求远,一定要用最简单的办法去定位. 分而治之 一般来说,良好的html代码页面结构是很清晰的.很多同学在用class定位的时候经常会发现页面上有很多同名class,

不得不说--自动化测试元素定位与用例设计

关于自动化测试,经常被问到元素的定位 与 如何设计用例. 很多时间我也帮不了你解决实际的问题,只能从个人脚本谈谈如何看待这些问题. 不得不说之元素定位 虽然,本章写了十几篇文章来讲元素的定位与操作,对于碰到的一些常见功能,如何通过技巧来定位它们,但是在实际的自动化脚本开发中,不管是新手还是具有一定经验的老手,我们面临最多的问题仍然是元素的定位问题. 有时间元素定位非常简单,例如,我们只要知道这个元素有的id和name 就可以轻松的来定位到它:有时间元素的定位却非常的令人非常头疼,尽管我们用尽了所

Robot Framework自动化测试(二)---元素定位

说明: 不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot framework是个测试框架,之所以可以拿来做web UI层的自动化是国为我们加入了selenium2的API.比如笔者所处工作中,更多的是拿Robot framework来做数据库的接口测试,当然,需要先将相关的数据库包导入. 那么测试框架的本质是什么?个人觉得有以下几个方面. 1.比较 测试实质就是“比较”,在测试之前需要先写用例,假设经过各种操作之后会得到一个预期的结果,然后,在测试的过

Selenium+Python自动化测试实战(2)元素定位

1.Selenium2 的原理 第一篇分享简单介绍了基于Python开发的Selenium2的环境配置,这篇主要讲一下基本用法.首先讲一下Selenium2的基本原理.基本上知道了这个东西是怎么回事,我们就知道怎么去用它做自动化测试. 与Selenium和Selenium RC不同,Selenium2将浏览器原生的API封装成WebDriver API,可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的),所以就像真正的用户在操作一样.其实刚