欢迎来到阿妮莫的学习小屋 |
慢也好,步子小也好,在往前走就好 |
目录
自动化测试
简介
自动化测试就是 利用[工具]或[代码]替代人工完成对软件项目的[测试过程]
作用
自动化测试主要用于以下几个方面
- 回归测试: 重复性高/执行频率高
- 压力测试: 多用户/手工测试不好实现
- 兼容性测试: 测试条件多/手工执行效率差
总的来说: 自动化测试的目的就是 "提高测试效率, 保证软件产品的质量".
分类
- 接口自动化
- 性能自动化
- UI自动化(Web项目/APP项目)
- 单元测试自动化
优缺点
优点
- 较少的时间内运行更多的测试用例;
- 自动化脚本可以重复执行;
- 减少人为的错误;
- 克服手工测试的局限性(例如压力测试这种场景);
缺点(误区)
1. 自动化测试可以完全替代手工测试?
- 自动化测试的脚本实现步骤依赖于手工测试
- 对于需求变更频繁的软件, 测试脚本的维护和设计比较空难.
2. 自动化测试一定比手工测试厉害?
- 只是存在一定的入门门槛导致的, 自动化测试和手工测试的本质都是为了发现更多的bug.
3. 自动化测试可以发现更多的BUG?
- 对于界面布局和系统奔溃等现象, 手工测试往往更加容易发现.
4. 自动化测试适用于所有测试场景?
- 功能测试逻辑复杂/涉及第三方交互的都不适合自动化测试实现
UI自动化测试
UI自动化测试就是 通过[代码]和[工具]对软件项目的[界面]进行测试的过程
分类: Web自动化和APP自动化
自动化测试使用场景
- 需求相对稳定, 不会频繁变更
- 项目开发周期长
- 需要频繁实现回归测试(UI 自动化测试最大的应用场景)
什么是回归测试?
回归测试是软件测试的一种, 主要目的是在软件发生变更之后, 确保这些变更没有引入新的缺陷, 并且原有的功能仍然正常工作.
自动化测试实现时间
- 功能测试结束
- 可以与功能测试同步实现; 前提: 公司有自动化测试组, 那么可以先部署自动化测试环境/分析需求/编写自动化测试用例.
Selenium框架
常见的UI自动化测试工具有: QTP, Selenium, Robot framework; 本文以Selenium作为教学工具进行讲解.
Selenium是一个用于Web应用程序的自动化测试工具
特点
- 开源: 可以根据项目需求进行二次开发
- 跨平台: Windows/macOS/Linux 都可以使用
- 支持多语言: Python/Java
- 支持常见的浏览器: 谷歌浏览器/火狐浏览器/Safari浏览器
Web自动化测试环境部署
本文使用Python语言编写自动化测试脚本, 并且使用谷歌浏览器进行测试.
安装Python环境:
Python入门(小白友好)https://blog.csdn.net/m0_70094411/article/details/136811671?fromshare=blogdetail&sharetype=blogdetail&sharerId=136811671&sharerefer=PC&sharesource=m0_70094411&sharefrom=from_link安装谷歌浏览器:Chrome 官方下载 | 谷歌浏览器中文版官网
https://www.chrome.net.cn/
Selenium包安装
#安装selenium包, 可能会比较慢
pip install selenium
#镜像源下载, 速度较快
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple selenium
#卸载
pip uninstall selenium
#查看是否安装以及版本号
pip list
动图演示:
浏览器驱动获取
不同版本的谷歌浏览器是需要对应不同的浏览器驱动的, 因此需要先获取谷歌浏览器的版本.
获取谷歌浏览器版本

获取对应的驱动程序
谷歌各版本浏览器驱动获取https://www.cnblogs.com/aiyablog/articles/17948703
将下载好的浏览器驱动程序解压缩, 并且置于Python解释器根目录下即可.
注意:浏览器会自动更新, 原低版本的驱动会出现不适配问题, 需要重新下载对应版本的驱动程序.
第一个Web自动化脚本
自动化脚本测试步骤: 打开百度网页, 输入你想要查询的内容, 点击百度一下;
'''
Web 自动化测试代码
'''
from time import sleep
# 1.导入selenium模块
from selenium import webdriver
from selenium.webd