努力经营当下,直至未来明朗!
文章目录
- 一、自动化概述
- 二、自动化测试的分类
- 三、自动化测试工具:selenium
- 四、一个简单的自动化用例
- 五、Selenium常用方法
- 1. 查找页面元素:
- 2.元素的定位(By类)
- 小结
普通小孩也要热爱生活!
一、自动化概述
- 自动化能够减少人力的消耗,同时提高生活质量
- 通过自动化测试能够有效减少人力的投入,同时提高了测试的质量和效率。
- 注意:自动化不能取代人力的作用。
- 版本迭代更新速度较快,如果仅仅通过人力来进行回归测试是有较大压力的,也不太现实,所以就可以借助自动化测试。
二、自动化测试的分类
- 自动化测试分为:接口自动化测试 和 UI自动化测试。
- UI自动化测试:移动端自动化测试、web端自动化测试
- 注意:我们目前所针对的是web端自动化测试(一定要明确)
三、自动化测试工具:selenium
-
Selenium是实施web端自动化测试的工具
-
自动化测试工具很多(如:QTP收费、Selenium开源、RFT收费),为什么要选择selenium作为web端测试工具呢?
① 开源免费
② Selenium可以支持/兼容很多浏览器进行自动化测试,如谷歌、火狐、IE等(但是不同的浏览器是需要修改自动化里的一些配置的,同时也需要修改一些浏览器里的配置)
③ 支持多系统,如Linux、Windows、MacOS
④ 支持多语言,如Java、Python、JavaScript等
⑤ Selenium包提供了很多可供测试使用的API -
环境部署
如果想要使用selenium实施web自动化测试,需要的环境是什么?
Chrome浏览器 + 谷歌驱动(ChromeDriver) + selenium工具包(引入依赖)
① 一定要注意驱动版本和浏览器版本的对应!!
② 注:java的jdk版本最低要求是8
- 什么是驱动?
① 举栗子:汽车有驱动才能跑起来
② 计算机也有驱动程序,可以驱动计算机和设备工作起来
③ 人工测试的情况下,人是手动打开浏览器的,那么驱动就是人力(浏览器原生操作)
④ 对于自动化来说,代码是不能够直接打开浏览器的,所以就需要借助驱动程序才能够打开浏览器。
⑤ 不同的浏览器对应不同的驱动,只有匹配的驱动才能打开对应的浏览器
- Selenium编写的自动化脚本是如何打开浏览器的?(selenium、Driver、浏览器三者之间的关系?)
驱动要接收selenium脚本发送过来的http请求并解析请求,其实也就是:驱动相当于服务器的功能。
(注:查看端口是否被占用:
netstat -na | findstr 端口号
)
四、一个简单的自动化用例
- 创建一个maven项目 -> 在pom.xml中添加依赖 -> 进行reload
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
-
src -> test -> java -> new -> (创建包) -> 创建java源文件(+需要创建运行测试用例的源文件)
-
在编写测试的源文件中创建方法来编写测试用例,然后再运行的源文件中进行调用运行。
-
举栗子:在百度网址中搜索关键词“刘亦菲”
1)手动搜索步骤:
①打开谷歌浏览器
②在url中输入https://www.baidu.com
③在输入框中输入关键词“刘亦菲”
④进行百度一下
⑤关闭浏览器,搜索结束
2)创建自动化测试:(类似手动步骤)
注意:按钮等元素可以使用fn+f12来进行获取!!
3)参考代码:自动化测试:刘亦菲
- 简单自动化实例主要包括五个步骤:
① 创建浏览器驱动,创建会话
② 获取网址,访问网站
③ 查找元素
④ 操作元素
⑤ 关闭驱动,结束会话
五、Selenium常用方法
1. 查找页面元素:
-
findElement(参数):查找一个元素
① 参数:By类(提供通过什么方式来查找元素)
② 返回值:WebElement
③ 当元素可以在页面找到时就正常运行,找不到时程序就报异常NoSuchElementException。 -
findElements(参数):查找多个元素
① 参数:By类(提供通过什么方式来查找元素)
② 返回值:List<WebElement>
2.元素的定位(By类)
By类元素定位的方法:
-
selector:选择器
1) 选择器分为基础选择器和复合选择器
2) 选择器功能:选中页面中指定的标签元素
3) 方式:ctrl+fn打开开发者工具 -> 然后进行选择查看 ->右键复制selector
-> 复制完成后可以进行ctrl+f
查看定位
-
xpath
1)xpath:xml路径语言,是用来确定xml文档中某部分位置的语言。
2)语法:(了解就行,使用的时候直接进行复制粘贴)
① 层级:/子级 //跳级
② 属性:@
③ 函数:contains() …
3) xpath如://*[@id="so-hotword"]/ul/li[6]
,li[n]表示的是从1开始数的第n条li标签的数据。
4)补充:自动化中要求元素的定位要唯一!
5)但是手动在页面上复制的selector或xpath元素不一定是唯一的,需要我们进行手动修改到唯一。(在ctrl+f的查找框中修改,同时查看是否唯一!)
小结
- 自动化测试的优势
- 自动化测试的分类以及我们主要针对的测试
- 选择selenium的原因
- Selenium编写的自动化脚本是如何打开浏览器的?(三者关系)
- 简单自动化测试五个步骤
- selenium常用方法:查找元素findElement、元素的定位selector/xpath