Web自动化测试07

本篇博客详细介绍了使用Selenium进行Web自动化测试的流程,包括需求分析、用例设计、项目搭建、代码编写和日志收集等步骤。重点讲解了如何运用UnitTest框架管理测试用例,实现数据驱动,以及使用PO模式和日志收集功能。通过一个TPshop开源商城系统的实战项目,演示了自动化测试脚本的编写和执行,旨在帮助读者掌握Web自动化测试的核心技能。
摘要由CSDN通过智能技术生成
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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值