自动化
说明
- 让机器设备代替人为完成指定目标的而过程
优点
- 减少劳动力
- 提高效率(批量生产)
- 提高产品质量
- 规格统一标准
自动化测试
- 概念 : 让程序代替人工去验证系统功能的过程
自动化测试能解决什么问题?
- 解决-回归测试 [重点]
- 解决-压力测试
- 解决-兼容性测试 (1.浏览器、2.分辨率3.操作系统 )
- 提高测试效率,保证产品质量
相关知识
优点
- 较少的时间内运行更多的测试用例;
- 自动化脚本可重复运行;
- 减少人为的错误;
- 克服手工测试的局限性;(图片大小)
缺点
- 自动化测试可以完全替代手工测试;
- 自动化测试一定比手工测试厉害;
- 自动化测试可以发掘更多的BUG;
- 自动化测试适用于所有功能;
分类
- web-自动化测试(本阶段学习)
- 移动-自动化测试(app-自动化)
- 接口-自动化测试(工具、代码)
- 单元测试-自动化测试
Web自动化测试
定义
- 概念:让程序代替人工自动验证web项目功能的过程
什么Web项目适合做自动化测试?
- 需求变动不频繁
- 项目周期长
- 项目需要回归测试
Web自动化测试在什么阶段开始?
- 功能测试完毕(手工测试)
- 此时开始的原因:1.时间问题 2.功能不完善
所属分类
- 以下分类为站在代码可见度上划分
- 黑盒测试(功能测试)
- web自动化测试属于黑盒测试(功能测试)
- 白盒测试(单元测试)
- 灰盒测试(接口测试)
Web自动化测试工具选择
主流的Web自动化测试工具
-
QTP
QTP 是一个商业化的功能测试工具,收费,支持web,桌面自动化测试。 -
Selenium(本阶段学习)
Selenium 是一个开源的web自动化测试工具,免费,主要做功能测试。 -
Robot framework
Robot Framework是一个基于Python可扩展地关键字驱动的测试自动化框架。
Selenium
概念
- Selenium是一个用于web应用程序的自动化测试工具
特点
- 开源软件:源代码开放可以根据需要来增加工具的某些功能
- 跨平台: linux、windows、mac
- 支持多种浏览器: Firefox、Chrome、IE、Edge、Opera、Safari等
- 支持多种语言:Python、Java、C#、JavaScript、Ruby、PHP等
- 成熟稳定:目前已经被google、百度、腾讯等公司广泛使用
- 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
环境搭建
基于Python环境搭建
- Python开发环境
- 安装selenium包
- 安装浏览器
- 安装浏览器驱动--保证能够用程序驱动浏览器,实现自动化测试
安装selenium包
前提: Python3安装完毕且能正常运行
PIP工具
- pip是一个通用的Python 包管理工具,提供了对Python 包的查找、下载、安装、卸载的功能。
安装
pip install selenium
卸载
pip uninstall selenium
扩展
- 安装指定版本pip install seleniur==版本号
- 如: pip install selenium==2.48.0
- 如何查看可安装按本? 指定版本号为错误版本号
- pip是python中包管理工具(可以安装,卸载、查看python工具)
- pip list:查看通过pip包管理工具安装的插件或工具
提示
- 使用pip必须联网
- 默认安装python3.5版本以上工具,自带pip包管理(江工具,默认会自动安装并且添加path环境变量
驱动下载
- 找对应网站
通过Pycharm安装 【推荐】
- 推荐原因:安装到当前工程环境内。
- 操作:
File(文件菜单)-->setting-->Project:当前工程名称-->Project Interpreter-- 点击+号安装相应包和版本
path
-
说明:指定系统搜索的目录dos命令默认搜索顺序:
1.检测是否为内部命令2.检测是否为当前目录下可执行文件
3.检测path环境变量指定的目录
提示:
-
如果以上搜索目录都检测不到输入的命令或可执行文件,系统会抛出不是内部或外部命令...
-
在web环境中,如果不将浏览器驱动添加到path中,selenium在运行的时候会提示浏览器驱动有误。
案例
- 通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器
# 导包
from time import sleep
from selenium import webdriver
# 获取 火狐浏览器对象
driver = webdriver.Firefox()
# URL 打开百度
driver.get('http://www.baidu.com')
# 暂停3秒
sleep(3)
#退出浏览器驱动
driver.quit()
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!