前言
本章主要讲述Web自动化测试的相关基础知识
一、自动化测试基本介绍
1.概念
- 自动化测试:让程序代替人为去验证程序功能的过程,其中Web自动化测试属于黑盒测试(功能测试)
1)优点
- 较少的时间内运行更多的测试用例;
- 自动化脚本可重复运行;
- 减少人为的错误;
- 测试数据存储
2)缺点
- 不能取代手工测试;
- 手工测试比自动化测试发现的缺陷更多;
- 测试人员技能要求;
3)误区:
- 自动化测试完全替代手工测试
- 自动化测试一定比手工测试厉害
- 自动化可以发掘更多的BUG
2.自动化测试分类
- Web-(UI)自动化测试(本阶段学习)
- 接口-自动化测试
- 移动(app)-自动化测试
- 单元测试-自动化测试
二、Web自动化测试
1.概念
- Web自动化测试概念:让程序代替人为自动验证Web项目功能的过程
什么Web项目适合做自动化测试?
1.需求变动不频繁
2.项目周期长
3.项目需要回归测试
2.主流测试-工具
Web自动化测试:selenium(开源的web自动测试工具,主要做功能测试)、robot framework
App端自动化测试:Appium、Monkeyrunner、UIautomation
PC客户端(win32)自动化测试:QTP(收费,支持web,桌面自动化测试)
接口自动化测试:Jmeter(支持Web,接口测试,性能测试)、Postman、httpUnit、RESTClient
云测平台:Testin Testbird
性能测试:Jmeter、LoadRunner(收费,功能强大,适合做复杂场景的性能测试)
三、Selenium介绍
1.概念
- Selenium是一个用于Web应用程序测试的工具;中文的意思(硒)
特点:
- 开源软件:源代码开放可以根据需要来增加工具的某些功能
- 跨平台:linux 、windows 、mac
- 核心功能:就是可以在多个浏览器上进行自动化测试
- 多语言:Java、Python、C#、JavaScript、Ruby等
- 成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用
- 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
2.SeleniumIDE
- Selenium IDE:是一个Firefox插件,用于记录和播放用户与浏览器的交互(录制Web操作脚本)
为什么要学习Selenium IDE?
- 使用Selenium IDE录制脚本,体验自动化脚本魅力
- 使用Selenium IDE录制的脚本转换为代码语言
- 安装方式
1)官网安装
Version: 2.9.1.1
通过官网安装插件:https://addons.mozilla.org/en-GB/firefox/addon/selenium-ide/ve
rsions/
2)附加组件管理器
火狐浏览器 V24-V35–>附加组件管理器–>搜索selenium IDE
3)离线安装
下载:https://github.com/SeleniumHQ/selenium-ide/releases
安装:下载好selenium_ide-2.9.1-fx.xpi直接拖入浏览器安装
- Selenium IDE运行方式
1)快捷键Ctrl+Alt+S
2)工具栏——>Selenium IDE
- Selenium IDE图片展示
-
文件:创建、打开和保存测试案例和测试案例集。编辑:复制、粘贴、删除、撤销和选择测试案例中的所有命令。Options : 用于设置seleniunm IDE。
-
用来填写被测网站的地址。
-
速度控制:控制案例的运行速度。
-
运行所有:运行一个测试案例集中的所有案例。
-
运行:运行当前选定的测试案例。
-
暂停/恢复:暂停和恢复测试案例执行。
-
单步:可以运行一个案例中的一行命令。
-
录制:点击之后,开始记录你对浏览器的操作。
-
案例集列表。
-
测试脚本;table标签:用表格形式展现命令及参数。source标签:用原始方式展现,默认是HTML语言格式,也可以用其他语言展示。
-
查看脚本运行通过/失败的个数。
-
当选中前命令对应参数。
-
日志/参考/UI元素/Rollup
3.Selenium2.0(WebDriver)
- selenium安装前提是Python3.5以上版本安装完毕且能正常运行
1)selenium 安装、卸载、查看命令
- 安装:pip install selenium==2.48.0
1)pip:通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
2)install: 安装命令
3)selenium==2.48.0指定安装selenium2.48.0版本(如果不指定版本默认为最新版本)
- 卸载:pip uninstall selenium
- 查看:pip show selenium
2)WebDriver-元素定位(8种)
1). id、name、class_name:为元素属性定位
2). tag_name:为元素标签名称
3). link_text、partial_link_text:为超链接定位(a标签)
4). Xpath:为元素路径定位
5). Css:为CSS选择器定位