Table of Contents
Web
自动化测试课程
第
7
章
-
项目实战
自动化测试流程
项目介绍
用例设计
项目搭建
编写代码
完善代码
Web
自动化测试课程
序号
章节
知识点
1
第一章
Web
自动化入门
1.
认识自动化及自动化测试
2.
自动化测试工具选择
3.
环境搭建
2
第二章
Selenium-API
操作
1.
元素定位方式
2.
元素和浏览器的操作方法
3.
鼠标和键盘操作
4.
元素等待
5. HTML
特殊元素处理
6.
窗口截图
7.
验证码处理
3
第三章
UnitTest
框架
1. UnitTest
基本使用
2. UnitTest
断言
3.
参数化
4.
生成
HTML
测试报告
4
第四章
PO
模式
1.
方法封装
2. PO
模式介绍
3. PO
模式实战
5
第五章 数据驱动
1. JSON
读写
2.
数据驱动介绍
3.
数据驱动实战
6
第六章 日志收集
1.
日志相关概念
2.
日志的基本方法
3.
日志的高级方法
7
第七章 项目实战
1.
自动化测试流程
2.
项目实战演练
课程目标
1.
掌握使用
Selenium
进行
Web
自动化测试的流程和方法,并且能够完成自动化测试脚本的编
写。
2.
掌握如何通过
UnitTest
管理用例脚本,并生成
HTML
测试报告。
3.
掌握使用
PO
模式来设计自动化测试代码的架构。
4.
掌握使用数据驱动来实现自动化测试代码和测试数据的分离。
5.
掌握使用
logging
来实现日志的收集。
第7章
-
项目实战
目标
1.
熟悉自动化测试的流程
2.
能够对一个
web
项目实现自动化测试
3.
熟练使用
selenium
常用的
API
4.
能够把
UnitTest
应用到项目中
5.
能够把
PO
模式应用到项目中
6.
能够把数据驱动应用到项目中
7.
能够把日志收集功能应用到项目中
自动化测试流程
目标
1.
熟悉自动化测试的流程
1.
自动化测试的流程
1.
需求分析
2.
挑选适合做自动化测试的功能
3.
设计测试用例
4.
搭建自动化测试环境
[
可选
]
5.
设计自动化测试项目的架构
[
可选
]
6.
编写代码
7.
执行测试用例
8.
生成测试报告并分析结果
项目介绍
1.
项目介绍
项目名称
TPshop
开源商城系统
项目描述
TPshop
是一个电子商务
B2C
电商平台系统,功能强大,安全便捷。适合企业及个人快速构建个性
化网上商城。
包含
PC+IOS
客户端
+Adroid
客户端
+
微商城,系统
PC+
后台是基于
ThinkPHP MVC
构架开发的跨平
台开源软件,设计得非常灵活,具有模块化架构体系和丰富的功能,易于与第三方应用系统无缝集
成,在设计上,包含相当全面,以模块化架构体系,让应用组合变得相当灵活,功能也相当丰富。
项目架构
用例设计
目标
1.
掌握如何编写自动化测试用例文档
1.
编写自动化测试用例的原则
1.
自动化测试用例一般只实现核心业务流程或者重复执行率较高的功能。
2.
自动化测试用例的选择一般以
“
正向
”
逻辑的验证为主。
3.
不是所有手工用例都可以使用自动化测试来执行。
4.
尽量减少多个用例脚本之间的依赖。
5.
自动化测试用例执行完毕之后,一般需要回归原点。
2.
编写测试用例
项目搭建
目标
1.
掌握如何进行自动化测试框架的搭建
1.
初始化项目
1.1
新建项目
项目名称:
webAutoTestTPshop
1.2
创建目录结构
1.3
安装依赖包
安装
selenium
包
安装
parameterized
包
添加
HTMLTestRunner
2.
初始化代码
封装驱动工具类
封装
PO
基类,定义
BasePage
和
BaseHandle
编写代码
目标
1.
掌握如何采用
PO
模式的分层思想对页面进行封装
2.
掌握如何使用
UnitTest
管理项目中的测试用例
1.
抽取
PO
根据用例分析待测功能,提取页面对象
1.
定义页面对象文件
登录页:
login_page.py
首页:
index_page.py
后台页面
(
个人中心页
)
:
home_page.py
商品搜索页:
goods_search_page.py
商品详情页:
goods_detail_page.py
购物车页:
cart_page.py
下订单页:
order_page.py
订单支付页:
order_pay_page.py
我的订单页:
my_order_page.py
2.
分别编写对象库层、操作层、业务层的代码
2.
编写测试脚本
1.
定义测试脚本文件
登录模块:
test_login.py
购物车模块:
test_cart.py
订单模块:
test_order.py
2.
使用
unittest
管理测试脚本
3.
执行测试脚本
1.
使用
unittest
执行测试脚本
2.
调试代码
完善代码
目标
1.
掌握如何把数据驱动应用到项目中
2.
能够把日志收集功能应用到项目中
3.
掌握如何使用
UnitTest
生成测试报告
1.
数据驱动
1.1
定义数据文件
1.
定义存放测试数据的目录,目录名称:
data
2.
分模块定义数据文件
登录模块:
login.json
购物车模块:
cart.json
订单模块:
order.json
3.
根据业务编写用例数据
1.2
测试数据参数化
修改测试脚本,使用
parameterized
实现参数化
2.
日志收集
使用
logging
模块实现日志的收集
2.1
示例代码
import
logging.handlers
import
os
#
工程目录
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
def
init_log_config
()
:
"""
初始化日志配置
"""
#
日志输出格式
fmt =
"%(asctime)s %(levelname)s [%(filename)s(%(funcName)s:%(lineno)d)] - %(messag
e)s"
#
创建日志器
logger = logging.getLogger()
logger.setLevel(logging.INFO)
#
创建格式化器
formatter = logging.Formatter(fmt)
#
输出到控制台
sh = logging.StreamHandler()
sh.setFormatter(formatter)
logger.addHandler(sh)
#
输出到文件,每日一个文件
log_path = os.path.join(BASE_DIR,
"log"
,
"tpshop.log"
)
fh = logging.handlers.TimedRotatingFileHandler(log_path, when=
'MIDNIGHT'
, interval=
1
, backupCount=
3
)
fh.setFormatter(formatter)
logger.addHandler(fh)
3.
生成测试报告
使用
HTMLTestRunner
生成测试报告
report_file =
"./report/report{}.html"
.format(time.strftime(
"%Y%m%d-%H%M%S"
))
with
open(report_file,
"wb"
)
as
f:
runner = HTMLTestRunner(f, title=
"TPshop
商城自动化测试报告
"
, description=
"Win10.Fire
fox"
)
runner.run(suite)