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