首页 > 其他分享 >httprunner3.X 参数化实现数据驱动(待补充)

httprunner3.X 参数化实现数据驱动(待补充)

时间:2023-03-01 13:55:23浏览次数:34  
标签:函数 parameters py 列表 httprunner3 参数 驱动 debugtalk

环境:httprunner==3.1.4  python==3.7.7

数据源指定支持三种方式:

在 YAML/JSON/py 中直接指定参数列表:该种方式最为简单易用,适合参数列表比较小的情况
通过内置的 parameterize(可简写为P)函数引用 CSV 文件:该种方式需要准备 CSV 数据文件,适合数据量比较大的情况
调用 debugtalk.py 中自定义的函数生成参数列表:该种方式最为灵活,可通过自定义 Python 函数实现任意场景的数据驱动机制,当需要动态生成参数列表时也需要选择该种方式

1. 在YML中直接指定参数列表

如:针对一个账号对应一个密码,对应一种预期结果

在config-parameters中设置对应参数列表,步骤中用${}进行引用,variables 和 parameters 设置相同名称变量时,parameters 优先级大于variables

 遇到的坑:

parameters的参数化数据 每次只运行第一组的参数化数据

解决方案:

检查下依赖包:pydantic 的版本是不是1.8.2,如果不是可以卸载后重新下载1.8.2解决

 

2. 通过内置的 parameterize(可简写为P)函数引用 CSV 文件 

创建csv文件,命名未userdata.csv,存放在项目的data文件夹下

 

 parameterize中函数引用csv文件:

title-username-password-message: ${P(data/userdata.csv)}

 遇到的坑:

httprunner.exceptions.ValidationFailure: assert status_code equal 200(str) ==> fail

解决方案:

在debugtalk.py中设置函数修改类型,再引用debugtalk.py中函数

3. 调用 debugtalk.py 中自定义的函数生成参数列表

 

标签:函数,parameters,py,列表,httprunner3,参数,驱动,debugtalk
From: https://www.cnblogs.com/listening-y/p/17167905.html

相关文章

  • 【Linux】孤儿进程 | 命令行参数 | 进程优先级
    1.孤儿进程如果父进程一直存在,子进程先退出了,父进程对子进程退出不管不顾,会出现什么样问题么?创建makefile并输入以下内容mytest:test.c2gcc-o$@$^3.PHONY:clea......
  • C语言 指针参数 示例代码
    指针参数的DEMO#include<stdio.h>voidhex_printf(char*buf,intbuf_len){inti=0;if(NULL==buf){return;}printf("leni......
  • 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和
    1.简介宏哥之前一直用postman调接口比较多(web端),也非常容易上手和操作。但有时候想要去修改APP的页面展示,造数据又会比较麻烦,你自己造相对还好些,要是让开发造,还得低眉顺眼......
  • 解决ie浏览器驱动问题
     https://blog.csdn.net/weixin_30764137/article/details/98370440       https://selenium-release.storage.googleapis.com/index.html    ......
  • oracle 口令文件参数文件
    转载于:(140条消息)如何管理oralce口令文件和参数文件_oracle口令文件_梦想家DBA匠人的博客-CSDN博客口令文件审核Step1:使用root账号将oracledba的权限移除[root@o......
  • MySQL参数优化之thread_cache_size
    1.thread_cache_size简介每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应......
  • Django - form 使用 initial 参数,设置字段默认显示参数
     models.pyclassOrder(models.Model):LEIXING_CHOICES=((0,'leixing1'),(1,'leixing2'),(2,'leixing3'),)user=mo......
  • 【学习笔记】springmvc接收参数
    springmvc接收参数springmvc接收前端传来的数据,主要有三种情况:传来的参数名与处理方法的参数名一致、传来的参数名与处理方法的参数名不一致、传来的参数与已有的对象的属......
  • Servlet处理请求参数中文乱码问题
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录笔记以供日后回顾视频链接获取的请求参数有中文乱码问题设置编码tomcat8之前,设置编码:......
  • java方法参数(超详细)
    前言在上一篇文章中,壹哥给大家讲解了方法的定义、调用和返回值,但方法的内容还有很多,比如方法的参数是怎么回事?接下来壹哥会在这篇文章中,继续给大家讲解方法参数相关的知识......