1. 什么是自动化测试
自动化测试是指在预设的条件下,不需要手工干涉,机器就可以自动执行测试
预设的条件是指针对测试用例编写的自动化测试脚本
自动化的价值: 脚本的复用率、复用率越高、价值越高
自动化测试包括:UI 自动化、接口自动化、单元测试自动化
1)单元测试
单元测试就是针对系统的最小模块进行测试
Java 中使用 Junit 框架进行单元测试
2)接口自动化
接口测试就是针对系统中每个模块之间的接口进行测试
测试阶段: 项目前期接口开发完成后就可以进行测试
适用的项目: 接口自动化适用于接口变动较少的项目
常用的接口自动化测试工具: Postman、ApiPost、SoapUI 等
3)UI 自动化
对系统的界面元素进行操作,用脚本实现模拟用户的使用,完成功能的正常和异常测试
测试阶段: 项目后期,项目完成前后端的开发之后
适合的项目: 适合界面元素变动比较小的项目
UI 自动化的好处:
可以进行回归测试
可以节省人力资源
可以运行更多更繁琐的测试
可以执行一些手工无法完成的测试
一种可靠的测试方式,机器基本不会出错
脚本的复用性
常用的框架: Selenium 测试框架
2. Selenium 介绍
Selenium是web应用中基于UI的自动化测试框架,支持多平台、多浏览器、多语言。
Selenium 由 Selenium IDE, Webdriver,Selenium Grid组成。
1)Selenium IDE
Selenium IDE 一个用于 Selenium 测试的完成集成开发环境,可以直接录制在浏览器的用户操作,并且能回放,编辑和调试测试脚本。调试过程中可以逐步进行或调整执行的速度,并且可以在底部浏览日志出错信息。
录制的测试脚本可以以多种语言导出,比如 java,C#,Python,Ruby等,方便掌握不同语言的测试人 员操作。
2)Webdriver
工作原理:
启动浏览器后,将浏览器绑定到一个特定的端口,启动后的浏览器则作为 Webdriver 的 remote server(远程服务器)
脚本通过 CommandExecutor 接口,向浏览器发送 HTTP 请求,请求中包含一些操作指令,告诉浏览器该做什么
浏览器驱动将指令解析为 Web Service 的命令,驱动浏览器进行操作
3)Selenium Grid
selenium Grid是一个服务器,提供对浏览器实例访问的服务器列表,管理各个节点的注册和状态信息。可以实现在同一时刻不同服务器上执行不同的测试脚本。
3. 如何使用 Selenium IDE 录制脚本
首先先在浏览器的拓展中安装 Selenium IDE
打开安装好的插件,点击 Record a new test in a new project,创建一个新的录制项目
- 设置项目名和访问的 URL
- 点击 START RECORDING 就会新打开一个网页并且访问刚刚指定的 URL,我们只需要在网页中进行操作,操作完成后回到 IDE 界面点击停止按钮,最后为这个录制命名即可
- 点击录制成功后项目旁边的功能键,选择 Export 即可导出指定语言的自动化脚本
4. 在 python 环境中安装 Selenium 框架
安装 selenium
打开 cmd 输入命令 pip install selenium 即可安装
如果安装不成功,可以使用镜像安装,镜像地址可以随意更换pip install selenium -i https://mirrors.aliyun.com/pypi/simple
检查 Selenium 是否安装成功,使用 cmd 命令 pip install selenium 查看
安装驱动
只有安装了对应的 driver 驱动才能运行对应的浏览器
火狐驱动 geckodriver.exe
下载地址:Releases · mozilla/geckodriver · GitHub,请根据系统版本选择下载;(如 Windows 64位系统) 下载解压后将getckodriver.exe复制到Python的安装目录Scripts文件夹下
谷歌驱动 chrome driver
下载地址:CNPM Binaries Mirror 下载解压,你会得到一个chromedriver.exe 文件,放到安装Python的目录的Scripts文件夹下。