自动化基础
什么是自动化
解放测试工程师的双手,由代码设备代替人为自动完成指定任务的过程
自动化测试的优点
减少人工劳力成本 尽管初始的脚本编写与维护成本提高,但实际运行测试所需的时间极具缩减,,降低了项目的整体成本
提高测试效率 尽管初始的脚本编写时间长,但执行自动化脚本的时间很少,它们可以在无人看管的情况下直接运行
重复利用 整个测试任务中,会有大量的重复任务,比如回归测试。
自动化测试的缺点
不能取代手工测试
自动化不能适用所有项目
对测试人员要求比较高
常见问题:
自动化能代替手工测试吗?
自动化测试能找出比手工测试更多的bug吗?
web测试能属于黑盒测试?
自动化测试工程师比手工测试工程师工资高吗?
做web测试需要满足的条件
为啥要做自动化测试
回归测试 项目在发新版之前对项目之前的功能进行测试
压力测试 可以模拟多个用户操作请求服务器,达到药理测试效果
兼容性测试 可以做不同浏览器兼容性测试(ie、chrome)等
自动化测试什么时候可以开始
系统项目稳定
功能测试完成
自动化测试分类
web自动化测试
接口自动化测试
移动端自动化测试
单元自动化测试
适合自动化测试的项目
任务比较明确,不会频繁变动
每日版本构建后的测试验证
比较频繁的回归测试
软件系统界面稳定,变动少
需要在多平台上运行相同的测试案列(大量重复的任务)
软件维护周期长
项目接口压力不大
测试人员要有较强的编程能力
是否要满足以上8个条件才能开展自动化呢?根据实际执行经验,满足以下三个条件即可
软件需求变动不频繁
项目周期长
自动化测试脚本可以重复利用
主流的自动化工具
| 序号 | 类型 | 说明 |
|---|---|---|
| 1 | qtp | 商业工具,收费,支持web自动化测试 |
| 2 | selenium | 开源免费的自动化测试工具 |
| 3 | jmeter | 开源免费、支持web、接口、性能 |
| 4 | loadrunner | 商业工具、商业、功能强大,web、性能 |
什么是selenium
基本概念
selenium是一款web应用程序测试工具,主要用于web自动化
selenium主要特点
开源免费,可以完成二次开发,而且免费
跨平台:支持windows、linux、max
支持多语言: java、python、c#、javaScript
稳定强大:功能十分完善,且呗市场广泛使用。
selenium安装
环境准备
windows系统
python3.7以上
安装selenium包
pycharm开发工具
环境安装
1.打开pycharm,点击File,Setting进入配置页面

2.点击Project下面的Python Interpreter进入环境配置页面
(没有配置环境的配置一下环境,这里不多说,正常安装python的时候自带了三个库pip,setup...)

3.点击左上角的+号
4.搜索
相比于其他从网上下载安装包的教程我觉得这个更加方便一点,基本上0错误。

5.下载驱动
我们要理解,selenium是一个自动化测试的工具,说到自动化肯定就离不开网页。所以我们要去下载浏览器的驱动,才能使得我们写的脚本和浏览器兼容。
这里以谷歌浏览器为例(其他浏览器原理一样):
- 点击右上角的三个小点、点击帮助、点击关于Chrome。如下图

确定你的浏览器版本,更具你的浏览器输入网址:
Chrome驱动下载地址http://chromedriver.storage.googleapis.com/index.html 火狐驱动下载地址为:https://github.com/mozilla/geckodriver/releases/ IE驱动的下载地址:https://www.nuget.org/packages/Selenium.WebDriver.IEDriver/
下载好之后将我们的chromedriver放到和我们python安装路径相同的目录下

配置环境变量
打开我们的查看高级系统设置,点击环境变量,打开系统变量里面的path环境。添加我们的驱动路径进去。

准备工作已就绪,下面我们开始测试
命令行安装
pip install selenium==版本号
pip install -U selenium #安装最新版本
pip show selenium #查看selenium版本号
pip uninstall selenium #卸载当前seleium
chromedriver下载地址
https://registry.npmmirror.com/binary.html?path=chromedriver/
第一个selenium代码
话不多说直接上代码
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
browser = webdriver.Chrome()
browser.get("https://www.baidu.com")
browser.find_element(By.ID,'kw').clear()
browser.find_element(By.ID,'kw').send_keys('九江')
browser.find_element(By.ID,'su').click()
time.sleep(20)
browser.quit()

浙公网安备 33010602011771号