HttpRunner自动化之初始化和清理操作--hook机制

news2024/12/23 8:36:22

hook机制

  Httprunner 框架中的 hook 机制相当于unittest框架中的 setup , teardown 函数,用来进行测试用例执行之前的环境初始化以及测试用例执行完毕之后的环境清理操作。

  httprunner 中的 hooks 机制可以用在测试用例层级也可以用在测试步骤层级,其关键字是:setup_hooks、teardown_hooks

使用步骤:

1.一般在debugtalk.py中编写相应的初始化及环境清理函数

2.在测试用例文件中的 config 及test 中根据需要加入setup_hooks、teardown_hooks

# hook 是完成初始化和清理工作的
- config:
    name: 百度主页
    base_url: https://www.baidu.com
    output:
      - title
    # 放到用例层级
    setup_hooks:
      - ${setup_case()}
    teardown_hooks:
      - ${teardown_case()}

- test:
    name: 百度搜索
    # 放到步骤层级
    setup_hooks:
      - ${setup_start(我是传入的参数)}
    teardown_hooks:
      - ${teardown_close(我是传入的参数)}
    request:
      url: /s
      method: GET
      headers:
        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
        Accept-Encoding: gzip, deflate, br
        Accept-Language: zh-CN,zh;q=0.9
        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36
      params:
        wd: ${get_value()}
    extract:
      - title: <title>(.+?)</title>

    validate:
      - eq: [$title,"猫_百度搜索"]

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/773556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Uncaught TypeError: Cannot read properties of null (reading ‘name‘) 和NoSuchMethodException

问题1&#xff1a;Uncaught TypeError: Cannot read properties of null (reading name) 分析&#xff1a;这是由于还没登录&#xff0c;data.name 还没获取到值&#xff0c;所以为null 方法1&#xff1a;可以不管&#xff0c;它不会影响其他功能&#xff0c;当你登录后&#x…

2023年9月江苏/北京/深圳DAMA-CDGA/CDGP认证考试报名

据DAMA中国官方网站消息&#xff0c;2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启&#xff0c;相关事宜通知如下&#xff1a; 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA) 数据治理专家(CertifiedDataGovernanc…

书接上文——DETR评估可视化

在上一篇文章中&#xff0c;详细记录了如何使用官方开源的DETR项目开发训练自己的数据集&#xff0c;有详细的教程&#xff0c;感兴趣可以看下&#xff1a;《DETR (DEtection TRansformer)基于自建数据集开发构建目标检测模型超详细教程》 在文末我还附上了自己简单的绘图实践…

深入理解Spring事务传播机制-原理与实例说明

事务传播机制 简化记忆版本 REQUIRED:有事务加入&#xff0c;没有事务创建&#xff0c;Spring默认MANDATORY:必须在事务中被调用&#xff0c;没有抛异常SUPPORTS:有事务加入&#xff0c;没有以非事务运行NOT_SUPPORTED:不需要事务&#xff0c;有事务则挂起&#xff0c;避免回…

java学习003

Java数组 Java 语言中提供的数组是用来存储固定大小的同类型元素&#xff0c;这一点和PHP语言的可变数组长度不同。 声明变量数组 首先必须声明数组变量&#xff0c;才能在程序中使用数组。下面是声明数组变量的语法&#xff1a; dataType[] arrayRefVar; // 首选的方法 或 …

C/C++ 高效判断素数原理和代码实现

素数判断 素数是质数&#xff0c;指一个数的因数只有1和本身&#xff0c;1不是质数 所以需要在i [2 , x-1] 内判断x%i 是否是0&#xff0c;如果存在整除的&#xff0c;就不是质数 在数据量大时&#xff0c;我们采用更高效的方式&#xff0c;求[2,sqrt(x)]即可 对于一个数x,如…

华为产品测评官-开发者之声 - 华为云CodeArts真实体验感想

华为产品测评官&#xff0d;开发者之声 - 华为云CodeArts真实体验感想 我先是在6月17日参加了华为在深圳举办的开发者大会&#xff0c;后面看到群里发的"2023华为产品测评官&#xff0d;开发者之声"活动&#xff0c;简单看了一下体验活动的具体事情&#xff0c;感觉…

亚马逊卖家如何自己快速处理恶意差评

亚马逊卖家朋友自己遇到被恶意差评不要慌&#xff0c;可以通过大量买家号进行自己处理&#xff0c;方法如下&#xff1a; 1、点击差评下的report abuse按钮 如果是买家恶意差评&#xff0c;评价与实际不符合&#xff0c;商家可以在评价下找到report abuse&#xff0c;点击按钮…

手把手带你实现ChatGLM2-6B的P-Tuning微调

参考文献&#xff1a;chatglm2ptuning 注意问题1&#xff1a;AttributeError: ‘Seq2SeqTrainer’ object has no attribute is_deepspeed_enabl torch.distributed.elastic.multiprocessing.errors.ChildFailedError: 可能是版本太高&#xff0c;可以参考chatglm2的环境

使用Linux Deploy搭建服务器(三)Linux Deploy安装宝塔面板

宝塔面板是一个免费的服务器管理平台,可以在你的服务器上安装它,然后你就能很方便的管理你的服务器,以及搭建各种服务平台,在此基础上我们可以使用内网穿透,搭建出自己的Linux服务器。可以这样一个相对便宜的方式,进行Linux、网站搭建、web服务部署等一系列操作的学习。 …

实测结果公开:用户见证 StarRocks 存算分离优异性能!

StarRocks 在 3.0 版本正式引入了存算分离架构&#xff0c;从 shared-nothing 走向 shared-data&#xff0c;实现了架构上的重大升级。这一升级受到许多用户的高度期待&#xff0c;因为它不仅是企业降本增效的关键&#xff0c;也是 StarRocks 迈向云原生的必经之路。因此&#…

多模态系列论文--VLMO 详细解析

论文地址&#xff1a;VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts 论文代码&#xff1a;VLMO VLMO 1 研究动机2 本文贡献1&#xff1a;MOME模型2.1 模型结构2.2 损失函数2.3 结构优点2.4 结构缺点 3 本文贡献2&#xff1a;分阶段的训练策略4…

在DELL/HP server的UEFI mode下指定ISO安装Ubuntu

1.重启系统 在蓝色界面出现提示后选择F2进入 然后保存设置即可 下面是惠普server的iol5界面 输入f9进入system utilities 选择ISO 选择reset

从零开始设计RISC-V处理器——五级流水线之数据通路的设计

系列文章目录 &#xff08;一&#xff09;从零开始设计RISC-V处理器——指令系统 &#xff08;二&#xff09;从零开始设计RISC-V处理器——单周期处理器的设计 &#xff08;三&#xff09;从零开始设计RISC-V处理器——单周期处理器的仿真 &#xff08;四&#xff09;从零开始…

五十、Spring

1.Spring概述 1.1 Spring是什么 Spring是分层的 Java SE/EE应用 full-stack(全栈式) 轻量级开源框架。 提供了表现层 SpringMVC和持久层 Spring JDBC Template以及 业务层 事务管理等众多的企业级应用 技术&#xff0c;还能整合开源世界众多著名的第三方框架和类库&#xf…

javascript中使用class和prototype的区别

javascript中使用class和prototype的区别 本文将介绍在 JavaScript 何时使用class以及何时使用prototype。 prototype 首先先介绍一下prototype的概念&#xff0c;在Javascript中&#xff0c;所有的对象都从原型中继承属性和方法。 function Car(brand, vinNumber) {this.b…

实现 Rollup 插件alias 并使用vitest提高开发效率

本篇文章是对 实现 Rollup 插件 alias | 使用 TypeScript 实现库的基本流程 | 使用单元测试提高开发效率 的总结。其中涉及到开发一个组件库的诸多知识点。 实现一个经常用的 rollup 插件 alias 首先执行npm init命令初始化一个package.json文件&#xff0c;因为插件使用了ty…

【大模型】ChatGLM2-6B 快速使用

教程 Bilibili&#xff1a;清华开源ChatGLM2-6B安装使用 手把手教程&#xff0c;轻松掌握 代码&#xff1a;https://github.com/THUDM/ChatGLM2-6B 模型&#xff1a;https://huggingface.co/THUDM/chatglm2-6b、https://cloud.tsinghua.edu.cn/d/674208019e314311ab5c/?p%2Fc…

【Java从入门到大牛】面向对象进阶下篇

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;Java从入门到大牛 &#x1f320; 首发时间&#xff1a;2023年7月19日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f43…

vue3后台管理系统封装的普通搜索框组件

1.普通搜索框效果 代码&#xff1a;SearchItem.vue <template><div class"searchBox" id"searchBox"><!-- <a-form ref"formRef" name"advanced_search" class"ant-advanced-search-form" :model"f…