文章目录
一、自动化测试
1、什么是自动化测试?
- 系统按照 预先设定好的条件(自动化测试脚本)自动地去运行,这些包含预期情况和非预期情况。
2、自动化的分类
- 根据测试金字塔:单元测试、接口测试、UI测试(都是使用自动化去实现的)。
(1)单元测试
- Java Junit 单元测试框架。
(2)接口自动化测试
- 接口:不同的单元功能按照一定策略组合成某一个功能接口,提供给前台或者其他系统调用。
- 测试阶段:后端开发人员接口开发完成之后,就可以进行接口测试,不需要前端完成后,在项目前期就可以介入。
- 适用项目:接口功能稳定,不会频繁变动。
- 接口自动化适用的工具:jmeter、selenium、requests、robert、postman、Framework、soupUI。
- 用例维护:测试用例维护量较小。
- 效率:接口自动化测试效率比UI自动化测试效率较高。
(3)UI自动化测试
- 通过写自动化脚本来操作界面的元素,来达到UI自动化测试的目的
- 测试阶段:前端页面开发完成之后才能进行。
- 用例维护:测试用例维护量很大。
- 适用的项目:界面元素不经常变化的项目,需求不经常变更的项目。
- 效率:相对接口较低
3、自动化应用
- 自动化测试应用于(产品型项目、迭代型项目 项目周期比较长) 。
- 回归测试可以使用自动化测试手段。
- 还适用于一些人工无法完成的操作(高并发,多人同时进行同一个操作;两个操作必须间隔30s等等)。
4、自动化的意义
- 自动化脚本修改率越低,重复使用率越高。说明自动化脚本越有价值。
二、Selenium
1、什么是Selenium?
- Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,支持多平台、多浏览器、多语言去实现自动化测试。
(1)selenium1.0
- selenium IDE seleniumRC(环境沙箱) selenium Grid 如果页面有弹窗,不能继续。
(2)selenium2.0
- 是由google公司Simon将浏览器原生的API封装成WebDriver API(解决了环境沙箱的问题),可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的),所以就像真正的用户在操作一样。
webdriver的工作原理 ※
- 运行自动化脚本的时候webdriver会把浏览器绑定到某个端口上,webdriver就会把这个浏览器当成一个remote server(远程服务器)。 司机上车
- 客户端(自动化脚本)通过ExecuteCommands(命令行)向server端发送请求,通过HTTP Proxy向server端发送请求,去操作浏览器。 乘客向司机说去哪,司机开车
(3)selenium3.0
- 增加了一些浏览器的驱动 edge、Safari。
2、Selenium的优势
- 是一款免费、开源的软件。
- 多语言:c#、JS、Java、Python、ruby。
- 多平台:windows、ios、linux。
- 多浏览器:Chrome、Firefox、IE、edge、Safari、Opera。
- 支持分布式测试:selenium、grid。
三、Selenium+Python环境搭建
1、下载python
- 下载 Download Python | Python.org。
- 进入该界面:
- 下载完成后,在该界面勾选 add path:
- 安装完成后,打开cmd,查看是否安装成功。
2、下载pychram(python脚本编译器)
- 官网下载pychram:https://www.jetbrains.com/pycharm/download/,选择community版本。
- 环境配置:
3、安装chrome driver
- 打开谷歌浏览器,先查看电脑谷歌版本。
- 下载地址:http://npm.taobao.org/mirrors/chromedriver/ ,从中下载与自己的谷歌版本相一致的。
- 下载完成后,解压得到个chromedriver.exe 文件,把它放入python/Scripts下。