IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Web自动化之元素定位(一) -> 正文阅读

[开发测试]Web自动化之元素定位(一)

Web自动化之元素定位

1.认识web自动化测试

??了解什么是自动化测试

??了解为什么要进行自动化测试

??掌握自动化测试的分类

??掌握web自动化测试的使用条件和场景

??了解自动化测试工具的优缺点

??了解了解自动化测试的前景和发展方向

web自动化条件和使用范围

·?手动测试已经完成

·?项目周期长

·?需求稳定

使用自动化测试的场景

频繁的回归测试

互联网迭代频繁

传统行业需求变化不大,应用频繁

性能测试

常见的自动化web测试工具

QTP(收费)

QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的自动化测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试哪些功能、操作步骤、输入数据和期望的输出数据等,后来Mecury公司被惠普收购

·

Selenium(开源)

Selenium是ThroughtWorks一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试

·

RFT(收费)

IBM Rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和GUI开发人员,基础是针对Java,.NET的对象计数和基于web应用程序的录制,回放功能。

·

·

Watir(开源)

?使用Ruby实现的开源web自动化测试框架,小巧灵活

·

Sahi(开源)

?印度一家公司开发的web自动化测试工具,简单易用,支持Ajax和web2.0

·

QTP与Selenium的比较

·?Selenium是开源的、免费的,QTP是商业版、收费的

·?Selenium支持java/python/ruby/php等,QTP早期版本只支持vbs

·?Selenium只能测试浏览器,QTP则都可以

·?Selenium支持操作系统多,而QTP只支持Windows

2.web自动化测试课程简介?

2.1 工具的安装与使用

要想让计算机定位到元素,就要使用计算机能够读懂的css选择器或者xpath路径表达式,那么我们就需要用到接下来的几个插件(以下的这些插件都是Firefox浏览器插件,我们需要安装Firefox浏览器,Firefox浏览器的安装配置参考3.1.3第三部分火狐浏览器的安装介绍)

1.安装firebug插件

1.打开firefox浏览器,点击右上角菜单

2.在右上角的搜索栏中输入firebug,并回车

3.在搜索结构中找到firebug,并点击搜索结果之后的安装

4.安装完成后,点击扩展查看右侧列表中是否存在firebug

5.打开firebug插件

6.检查未安装firepath插件

2.安装firepath插件

1.搜索firepath插件按照上述步骤进行操作,进行安装

2.安装完成之后提示重新启动浏览器,点击重启

3.重启浏览器之后打开firebug,在如图所示位置出现firepath,则表示插件安装完成

2.2 css选择器

什么是CSS选择器?

CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器。

通过id,class等定位元素

通过元素之间的嵌套定位元素

通过元素的属性定位元素

通过父子关系定位元素

通过元素状态定位元素

其他

学习练习网站???css选择器

2.3?xpath路径表达式

什么是xpath?

  • XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。[1] 起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSLT间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言。
  • 什么是XML?
  • * XML 指可扩展标记语言(EXtensible Markup Language)
  • * XML 是一种标记语言,很类似 HTML
  • * XML 的设计宗旨是传输数据,而非显示数据
  • * XML 的标签需要我们自行定义。
  • * XML 被设计为具有自我描述性。
  • * XML 是 W3C 的推荐标准
  • W3School官方文档:http://www.w3school.com.cn/xml/index.asp

XML与HTML的区别

xpath路径语句在自动化web测试中的作用

在我们做手动测试的手,我们可以很轻易的找到我们需要点击的输入框、按钮等,但是计算机没有这么智能,于是我们就用到了xpath路径表达式来在一个web页面中定位元素,其语法同css有异曲同工之处,同学们可以在两者之间选择一个,当然最好都掌握

2.3.1 节点之间的关系

?1.父(parent)

??每个元素以及属性都有一个父。

??下面是一个简单的XML例子中,book 元素是 title、author、year 以及 price 元素的父:

????<?xml version="1.0" encoding="utf-8"?>

????<book>

??????<title>Harry Potter</title>

??????<author>J K. Rowling</author>

??????<year>2005</year>

??????<price>29.99</price>

????</book>

?2.子(Children)

??元素节点可有零个、一个或多个子。

??在下面的例子中,title、author、year 以及 price 元素都是 book 元素的子:

????<?xml version="1.0" encoding="utf-8"?>

????<book>

??????<title>Harry Potter</title>

??????<author>J K. Rowling</author>

??????<year>2005</year>

??????<price>29.99</price>

????</book>

?3.同胞(Sibling)

??拥有相同的父的节点

??在下面的例子中,title、author、year 以及 price 元素都是同胞:

????<?xml version="1.0" encoding="utf-8"?>

????<book>

??????<title>Harry Potter</title>

??????<author>J K. Rowling</author>

??????<year>2005</year>

??????<price>29.99</price>

????</book>

?4.先辈(Ancestor)

??某节点的父、父的父,等等。

??在下面的例子中,title 元素的先辈是 book 元素和 bookstore 元素:

????<bookstore>

????<book>

??????<title>Harry Potter</title>

??????<author>J K. Rowling</author>

??????<year>2005</year>

??????<price>29.99</price>

????</book>

????</bookstore>

?5.后代(Descendant)

??某个节点的子,子的子,等等。

??在下面的例子中,bookstore 的后代是 book、title、author、year 以及 price 元素:

????<bookstore>

????<book>

??????<title>Harry Potter</title>

??????<author>J K. Rowling</author>

??????<year>2005</year>

??????<price>29.99</price>

????</book>

????</bookstore>

2.3.2 xpath路径表达式

?XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。

选取节点

XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

下面列出了最常用的路径表达式:

表达式

描述

nodename

选取此节点的所有子节点。

/

从根节点选取。

//

从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。

.

选取当前节点。

..

选取当前节点的父节点。

@

选取属性。

在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:

路径表达式

结果

bookstore

选取 bookstore 元素的所有子节点。

/bookstore

选取根元素 bookstore。注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!

bookstore/book

选取属于 bookstore 的子元素的所有 book 元素。

//book

选取所有 book 子元素,而不管它们在文档中的位置。

bookstore//book

选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。

//@lang

选取名为 lang 的所有属性。

谓语(Predicates)

谓语用来查找某个特定的节点或者包含某个指定的值的节点,被嵌在方括号中。

在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:

路径表达式

结果

/bookstore/book[1]

选取属于 bookstore 子元素的第一个 book 元素。

/bookstore/book[last()]

选取属于 bookstore 子元素的最后一个 book 元素。

/bookstore/book[last()-1]

选取属于 bookstore 子元素的倒数第二个 book 元素。

/bookstore/book[position()<3]

选取最前面的两个属于 bookstore 元素的子元素的 book 元素。

//title[@lang]

选取所有拥有名为 lang 的属性的 title 元素。

//title[@lang=’eng’]

选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性。

/bookstore/book[price>35.00]

选取 bookstore 元素的所有 book 元素,且其中的 price 元素的值须大于 35.00。

/bookstore/book[price>35.00]/title

选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。

选取未知节点

XPath 通配符可用来选取未知的 XML 元素。

通配符

描述

*

匹配任何元素节点。

@*

匹配任何属性节点。

node()

匹配任何类型的节点。

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

路径表达式

结果

/bookstore/*

选取 bookstore 元素的所有子元素。

//*

选取文档中的所有元素。

//title[@*]

选取所有带有属性的 title 元素。

选取若干路径

通过在路径表达式中使用“|”运算符,您可以选取若干个路径。

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

路径表达式

结果

//book/title | //book/price

选取 book 元素的所有 title 和 price 元素。

//title | //price

选取文档中的所有 title 和 price 元素。

/bookstore/book/title | //price

选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素。

XPath的运算符(了解)

下面列出了可用在 XPath 表达式中的运算符:

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:31:53  更:2021-07-15 16:33:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 6:49:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码