12 - web自动化实战

12 - web自动化实战,第1张

文章目录
    • 自动化测试流程
      • 测试流程:
      • 自动化测试流程:
      • 实际项目流程
    • 项目
      • 项目介绍
      • 自动化涉及的模块
      • 自动化测试结构
      • 测试用例
      • 定义数据文件
      • 测试数据参数化
      • 日志收集

自动化测试流程 测试流程:

用例文档
需求分析
用例编写
用例评审
执行用例
发现bug 的话,提交bug
回归bug
总结

自动化测试流程:
  1. 需求分析 ——
  2. 挑选适合做自动化测试的功能
  3. 设计测试用例 —— 在后面加个是否自动化
  4. 搭建自动化测试环境(可选)
  5. 设计自动化测试项目的架构(可选)—— 架构就是 po + 数据驱动 + log
  6. 编写代码
  7. 执行测试用例
  8. 生成测试报告并分析结果

自动化在手工测试之后(功能测试)执行,可以用之前的用例

实际项目流程
  1. 将功能用例转化为自动化用例(在功能用例模板后面新增一列,是否自动化)
  2. 搭建自动化测试环境(本机依赖的环境 python pycharm 浏览器 浏览器驱动、selenium parameterized )
  3. 搭建自动化框架 po模式 +数据驱动 +log +报告
  4. 编写代码
  5. 执行用例
  6. 生成报告、分析 log
项目 项目介绍

后台服务指的是 软件平台搭建起来后,安装在某个电脑上,要启动某个服务

自动化涉及的模块
  1. 登录
  2. 购物车
  3. 订单
  4. 支付
自动化测试结构
  1. base
  2. page
  3. scripts
  4. tool
  5. data
  6. log
  7. image 失败截图
  8. report 测试报告
测试用例

登录用例分析:

  1. 正确用户名+正确密码 +正确验证码 预期:登陆成功+跳转到个人主页
  2. 用户名为空 + 正确密码 + 正确验证码 预期结果 用户名不能为空!
  3. 正确用户名 + 空密码 +验证码 预期:密码不能为空
  4. 正确用户名 +正确密码 +空验证码 预期:验证码不能为空
  5. 用户名不存在 +正确密码 +正确验证码 预期:账号不存在
  6. 用户名格式不正确 +正确密码 +正确验证码 预期:账号格式不匹配
  7. 正确用户名 +错误密码 +正确验证码 预期:密码错误
  8. 正确用户名 +正确密码 +错误验证码 预期 :验证码错误
定义数据文件
  1. 定义存放测试数据的目录:data
  2. 分模块定义数据文件:login.json cart.json order.json
  3. 根据业务飙血用例数据
测试数据参数化

修改测试脚本,使用 parameterized

日志收集

logging 模块实现日志的收集

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)

生成测试报告
使用HTML TestRunner 生成测试报告

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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/716053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存