1. 什么是自动化测试
让程序代替人工去验证系统功能的过程
2.1 自动化测试能解决什么问题?
- 解决-回归测试
- 解决-压力测试
- 解决-兼容性测试
- 提高测试效率,保证产品质量
回归测试:项目在发新版本之后对项目之前的功能进行验证
压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
兼容性测试:不同浏览器(IE、Firefox、Chrome)等
2.2 自动化测试相关知识
优点
- 较少的时间内运行更多的测试用例;
- 自动化脚本可重复运行;
- 减少人为的错误;
- 克服手工测试的局限性;
误区
- 自动化测试可以完全替代手工测试;
- 自动化测试一定比手工测试厉害;
- 自动化测试可以发掘更多的BUG;
- 自动化测试适用于所有功能;
自动化测试分类
- Web-自动化测试
- 移动-自动化测试
- 接口-自动化测试
- 单元测试-自动化测试
3. 什么是Web自动化测试
概念:让程序代替人工自动验证Web项目功能的过程
3.1 什么Web项目适合做自动化测试?
1.需求变动不频繁
2.项目周期长
3.项目需要回归测试
3.2 Web自动化测试在什么阶段开始?
功能测试完毕(手工测试)
3.3 Web自动化测试所属分类
- 黑盒测试(功能测试)
- 白盒测试(单元测试)
- 灰盒测试(接口测试)
- Web自动化测试属于黑盒测试(功能测试)
Web自动化测试工具选择
1. 主流的Web自动化测试工具
- QTP QTP是一个商业化的功能测试工具,收费,支持web,桌面自动化测试。
- Selenium是一个开源的web自动化测试工具,免费,主要做功能测试。
- Robot framework Robot Framework是一个基于Python可扩展地关键字驱动的测试自动化框架。
2. 什么是Selenium?
Selenium是一个用于Web应用程序的自动化测试工具;中文的意思(硒)
2.1 Selenium特点
- 开源软件:源代码开放可以根据需要来增加工具的某些功能
- 跨平台:linux、windows、mac
- 支持多种浏览器:Firefox、Chrome、IE、Edge、Opera、Safari等
- 支持多种语言:Python、Java、C#、JavaScript、Ruby、PHP等
- 成熟稳定:目前已经被google、百度、腾讯等公司广泛使用
- 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
环境搭建
1. 环境搭建
基于Python环境搭建
1. Python 开发环境
2. 安装selenium包
3. 安装浏览器
4. 安装浏览器驱动 -- 保证能够用程序驱动浏览器,实现自动化测试
1.1 安装selenium包
前提:Python 解释器安装完毕且能正常运行
PIP工具
pip是一个通用的 Python 包管理工具,提供了对 Python 包的查找、下载、安装、卸载的功能。
# 安装
pip install selenium
# 卸载
pip uninstall selenium
# 查看
pip show selenium
1.2 安装浏览器驱动
- 火狐浏览器
1. Firefox 48 以上版本 selenium 3.x + Firefox驱动(geckodriver)
驱动下载地址:https://github.com/mozilla/geckodriver/releases
2. Firefox 48 以下版本 selenium 2.x + 内置驱动
- 谷歌浏览器
selenium 2.x/3.x + Chrome驱动(chromedriver)
驱动下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads
# 例如
chromedriver版本 支持的Chrome版本
2.41 v67-69
2.40 v66-68
2.39 v66-68
... ...
- Edge浏览器(了解)
selenium 3.x + Edge驱动(MicrosoftWebDriver)
驱动下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
安装浏览器驱动的步骤
- 下载浏览器驱动
- 各个驱动下载地址: http://www.seleniumhq.org/download/
- 浏览器的版本和驱动版本要一致!
- 把驱动文件所在目录添加到Path环境变量中
- 或者直接放到Python安装目录,因为Python已添加到Path中
2. 入门示例
2.1 需求
通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器
2.2 实现步骤
# 1. 导包
from selenium import webdriver
# 2. 创建浏览器驱动对象
# Firefox浏览器:
driver = webdriver.Firefox()
# Chrome浏览器:
# driver = webdriver.Chrome()
# Edge浏览器:
driver = webdriver.Edge()
# 3. 打开Web页面
driver.get("http://www.baidu.com/")
# 4. 暂停
time.sleep(3)
# 5. 关闭驱动对象
driver.quit()