Day20:实战:接口自动化测试框架封装之一------接口关联封装

一、法2:通过文件保存中间变量实现接口关联(联系Day17的四五)-----接口关联封装

在什么情况下需要清空 extract.yaml?需要清空几次?

整个项目只需要清空一次。

二、为什么要这样封装?

原因:

1、能够看到中间变量,易于去判断前置接口返回的数据有没有问题

2、可以避免多个模块之间的接口关联报错的问题,可以避免跨模块之间传递中间变量出错的问题

三、YAML文件详解

简介:

yaml 也是一种数据格式,在接口自动化里面主要用于配置文件或编写测试用例。

数据组成:

字典 :键值对,key:(空格) value

(json 和字典的区别,json 是字符串,字典对象,json 和字典可以相互转换,json 就是字典的字符串的形式)

列表 :a,b,c

在 yaml 中可以通过一组`-`来表示列表

复制代码
csrf_token:
  - name: 百里
  - age: 36

四、pytest数据驱动以及数据与代码的分离

数据驱动:

python 复制代码
@pytest.mark.parametrize(args_name,args_value)

args_name:参数名,一般取名 caseinfo

args_value:列表或字典列表,并且列表中有几个值那么用例就会执行几次。

示例格式:

列表:a,b,c,字典:{},{},{},{}

考点一句话:parametrize 做 pytest 数据驱动,args_value 里面有多少组数据,测试函数就自动运行多少次。

五、生成Allure报告

  1. 下载 allure 报告并且配置 path 路径

`D:\allure-2.21.0\bin`

验证:

在 DOS 窗口和 Pycharm 窗口通过 `allure --version` 验证环境

  1. 生成临时 json 报告
python 复制代码
addopts = -vs --alluredir=./temps --clean-alluredir

3、生成 allure 报告

复制代码
if __name__ == '__main__':
    pytest.main()
    time.sleep(3)
    os.system("allure generate ./temps -o ./reports --clean")

说明1. 先执行 pytest 运行用例,产出 temps 目录下的临时结果文件

  1. `time.sleep(3)`:等待文件写入完成,防止文件未保存就开始生成报告

  2. `allure generate ./temps -o ./reports --clean`:读取 temps 临时数据,生成 html 报告到 reports 文件夹,`--clean`清空旧报告

六、持续集成

安装 jenkins,启动

插件的安装和使用 各种配置:系统配置,工具配置

流水线 pipeline

实际工作中,你的 jenkins 在服务器。

七、遗留的问题

  1. 一个接口用例可能会有几十个,也在 yaml 文件里复制粘贴嘛?

  2. 接口关联

  3. 断言

  4. allure 报告的美化

  5. 日志封装

  6. 业务流程的封装

相关推荐
海宇服务7 小时前
零信任架构实战:基于海宇全能小微企业报告构建自动化园区商户免押租赁资信核验网关
大数据·人工智能·架构·自动化
画中有画9 小时前
在自动化脚本中操作本地数据库
数据库·oracle·自动化
代码方舟10 小时前
零信任架构实战:基于天远企业法人四要素高级版构建自动化电子印章授权与签约准入网关
人工智能·架构·自动化·区块链
NailiConveyor11 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯
螺丝钉tina12 小时前
[Playwright] [02]常用命令与调试:Debug UI、Mode和 Trace Viewer
开发语言·javascript·测试工具·ui·自动化
画中有画18 小时前
在自动化脚本中调用其他脚本文件
运维·自动化
环境栈笔记19 小时前
指纹浏览器安卓怎么用?从运行位置到功能验收,先把三种方案分清
前端·人工智能·后端·自动化
奈落2419 小时前
工程界讲角色边界,控制论讲博弈与稳定性:从 Swarms 的实践清单到《自动化学报》的协同综述,多智能体‘协同‘这件事有两套语言
人工智能·深度学习·自动化·ai 编程
我要见SA姐119 小时前
Chrome 内存泄漏诊断指南:从现象定位到根因排查
ide·vscode·python·自动化·编辑器