目录结构
一、自动化测试的背景&意义
1.自动化测试的背景
2.所需的学习内容
3.学习目标
4.学习建议
二、Python+Selenium课程目录
1.自动化测试基础
2.Selenium IDE应用
3.Python基础
4.WebDriver API
5.自动化测试模型
6.UnitTest单元测试框架
7.自动化测试高级应用
8.自动化测试实战项目
三、自动化测试体系
1.自动化测试的概念
2.自动化测试类型(金字塔层次模型)
3.自动化测试框架模型
4.适合自动化的项目
5.自动化测试工具
四、Selenium的三生三世
阶段1: Selenium 1.0
阶段2: Selenium 2.0
阶段3: Selenium 3.0
一、自动化测试的背景&意义
1.自动化测试的背景
1)互联网行业:
a.敏捷开发快速迭代的需要
b.测试环节中回归测试任务量大、较繁琐;手工测试容易漏测。对于回归测试,通过引入自动化测试,可一定程度上提高测试效率,与手工测试联合保证产品质量
2)测试人员转型:
a.随技术不断更新,需要提升个人核心竞争力
b.企业用人需求,对自动化、性能、接口测试的硬性要求,以及对编码、数据库、服务器等综合应用需求
2.所需的学习内容
1)自动化测试概念
2)自动化测试工具
3)Python基础语法
4)Selenium接口
5)自动化项目实战
3.学习目标
1)独立编写脚本,完成基础的自动化测试
2)利用框架完成自动化测试
3)构建自动化测试平台
4)胜任公司Web项目相关自动化测试任务
4.学习建议
1)多实践:
a.跟从教程不断验证学习效果
b.不断遇到疑难问题,不断想办法去解决实践过程中的问题
2)多思考、多总结:
比如对学习过程中的知识点、疑问点进行实践总结,输出个人技术Blog
3)恒心和毅力:
坚持!坚持!!坚持!!!
4)重视基础:
基础牢靠,持续提升
5)主动解决问题:
a.Google、Baidu、Sougou-公众号搜索
b.Stack Overflow技术论坛
c.技术交流群、论坛
d.向身边的技术大牛请教
二、Python+Selenium2课程目录
1.自动化测试基础
1)自动化测试概念
2)Selenium简介
3)前端技术简介:Html基础、CSS基础
4)前端工具介绍:FireBug、FirePath、F12开发者工具
5)测试环境搭建:工具插件安装、环境配置
2.Selenium IDE应用
1)安装与介绍
2)创建测试用例
3)常用命令
4)断言 & 验证
5)等待 & 变量
3.Python基础
1)Python简介
2)Python安装
3)Python基础知识
4.WebDriver API
1)元素定位
2)键盘鼠标事件
3)浏览器窗口控制
5.自动化测试模型
1)自动化测试框架与工具设计思想
2)四大模型:线性测试、模块化驱动测试、数据驱动测试、关键字驱动测试
6.UnitTest单元测试框架
1)用例管理与执行
2)丰富的断言机制
3)完整的日志
7.自动化测试高级应用
1)报告生成
2)自动发送邮件
3)设计模式PageObject
8.自动化测试实战项目
1)Web自动化测试项目
三、自动化测试体系
1.自动化测试概念
1)概念:以人为驱动的测试行为-->(转换为)-->机器执行的过程
2)目的:提高测试效率,保证产品质量
3)注意事项:在可预见的未来,自动化测试不太可能完全取代手工测试;自动化测试也不一定就比手工测试高大上;自动化测试未必会发现更多的Bug
2.自动化测试类型(金字塔层次模型)
1)单元自动化测试
特点:
a.针对类、方法进行测试
b.测试效益最大
c.技术难度要求较高,小型搞死由开发自测为主
d.测试工具:Junit、TestNginx、Nunit、UnitTest
2)接口自动化测试
测试工具:httpUnit、Postman、Jmeter、Fiddler
3)UI自动化测试
特点:
1)对界面元素测试
2)面向用户,测试工作量占比大
3)较大程度依赖于界面和模块的稳定性
4)测试投资回报率(ROI)不高
5)测试工具:RobtFramework(RF)、Selenium、Appium
3.自动化测试框架模型
1)线性测试:独立的功能流程,流水线执行
2)模块化驱动测试:模块复用
3)数据驱动测试:参数化
4)关键字驱动测试:关键字封装。测试工具(QTP、Selenium IDE、RF)
4.适合自动化的项目
特点:
1)需求变动不频繁:以“稳定”为前提的自动化才靠谱
2)项目周期足够长
3)项目需要重复回归测试
5.自动化测试工具
1)Web端自动化测试:Selenium、RF
2)PC客户端自动化测试:QTP
3)APP端自动化测试:Appium、UIautomation、Monkey Runner
4)接口自动化测试:HttpUnit、Postman、Python
5)云测平台:Testin、Testbird...
四、Selenium的三生三世
阶段1: Selenium 1.0
本阶段之竞争对手:Web Driver
-
Selenium IDE
a.Firefox插件,可录制用户的基本操作,生成测试用例
b.运行所生成的测试用例,在浏览器回放,将测试用例转化为其他语言的自动化脚本 -
Selenium Grid
允许Selenium RC针对规模庞大的测试案例集or需要在不同环境中运行的测试案例集进行扩展(即:并发测试) -
Selenium RC
a.RC(Remote Control),其功能是用来模拟一个浏览器,主要测试Web方面的内容
b.支持多平台:Windows、Linux、Solaris
c.支持多浏览器:IE、Firefox、Opera、Safari
d.支持多语言:Java、Ruby、Python、Perl、PHP、C#,编写测试用例
不足之处
a.不支持本机键盘和鼠标事件
b.不支持同源策略XSS、HTTP(S)
c.不支持弹出框、对话框(基本身份认证,自签名证书和文件的上传or下载)
d.不支持并发
阶段2: Selenium 2.0
特点:
1)Selenium 2.0 = Selenium 1.0+WebDriver
2)基于调用WebDriver API来模拟用户操作
3)WebDriver的速度更快,因它直接交互使用的浏览器
4)支持多种编程语言
阶段3: Selenium 3.0
特点:
1)去掉了对Selenium RC的支持
2)全面拥抱Java 8
3)支持MacOS(Sierra or later),支持官方的safaridriver
4)通过ms官方的WebDriver Server支持Edge浏览器
5)只支持IE9.0以上的版本
6)通过Mozilla官方的geckodriver来支持Firefox
PS:
a.若需要测试Edge或Safari,则更新Selenium到最新版(目前3.0)是必要的
b.若不需要测试以上浏览器,则可选择稳定性和功能全面综合较优的2.0版本
参考来源:
[1] 51自学网-自动化测试教程
网友评论