httprunner学习11-辅助函数debugtalk.py】的更多相关文章

前言 在HttpRunner中,我们的测试用例都是写在 YAML/JSON 文件中,有时候我们想借助代码来实现某些较复杂的功能,但在 YAML/JSON 中是无法直接写代码来处理的,这个时候,我们可以借助 HttpRunner 中的辅助函数 debugtalk.py 来完成. HttpRunner使用文档中的说明: HttpRunner 的实现方式为,支持热加载的插件机制(debugtalk.py),可以在 YAML/JSON 中调用 Python 函数. 具体地做法,我们可以在测试用例文件的同…
前言 在httprunner里面,每个 YAML / JSON 文件的脚本都是独立运行的,有时候我们希望能跨文件使用公用的参数. 比如登录生成一个token,后面的用例都可以去引用这个token值,或者有些复杂的逻辑,需要写个函数去实现,比如操作数据库,加密解密等. httprunner中可以使用 debugtalk.py 写辅助函数,实现复杂的功能. 登录函数获取token 新建一个debugtalk.py文件,写个登录函数,返回token值 import requests host = "h…
前言 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试. 具有以下优点: 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求 采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑 支持完善的测试用例分层机制,充分实现测试用例的复用 测试前后支持完善的 hook 机制 响应结果支持…
前言 HttpRunner 在命令行中启动测试时,通过指定参数,可实现丰富的测试特性控制. 命令行参数CLI 使用 -h 查看相关命令行参数 hrun -h 参数名称 参数值 参数说明 -h, --help 不带参数 查看帮助信息 -V, --version 不带参数 查看版本号 --no-html-report 不带参数 不生成测试报告 --html-report-name HTML_REPORT_NAM 重命名html报告名称 --html-report-template HTML_REPO…
HttpRunner是一款面向Http和HTTPS协议的通用测试框架,只需编写维护一份YAML/JSON脚本即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求,是基于关键字驱动的框架,基于Har实现接口录制和用例生成公告 安装命令  pip install httprunner==2.5.7 ,这里安装的是2.5.7版本,安装完毕后 httprunner -V查看当前版本,HttpRunner 2.**分层机制:api testcases testsuite 一.在HttpRunne…
前言 对于使用过 Python结合Unittest 框架来做自动化测试的同学,应该知道在 Unittest 中,有这样2个方法:setUp() 和 tearDown() ,即前置和后置操作.通常 setUp() 主要用于测试准备工作,而 tearDown() 主要用于 测试后的数据清理. 在 HttpRunner 中,我们可以通过 hook机制 来实现 setUp() 和 tearDown(). 本人环境:HttpRunner V1.5.8 测试场景 我们将用一个登录的接口来进行说明,完整的 Y…
前言 httprunner上传文件接口,其实跟requests上传文件的接口是一样的,之前在python接口系列里面有案例 python接口自动化16-multipart/form-data上传图片 文件上传multipart/form-data 用fiddler抓包,查看抓到的接口,以下这种接口就是multipart/form-data Content-Type: multipart/form-data body参数是这种格式: -----------------------------221…
前言 一般公司对外的接口都会用到sign签名,对不同的客户提供不同的apikey ,这样可以提高接口请求的安全性,避免被人抓包后乱请求. sign签名是一种很常见的方式 关于sign签名的可以参考前面一篇的介绍https://www.cnblogs.com/yoyoketang/p/11742187.html 接口sign签名 一登陆的接口请求为例,如下接口抓包报文信息,其中sign的签名规则如下 第一步,拼接字符串,首先去除sign参数本身,然后去除值是空的参数p3,剩下p2=v2&p1=v1…
前言 在实际工作中,我们有时候会需要对测试用例加判断,比如某个接口功能暂时去掉了,我们希望对这个用例skip不去执行. 当其它的接口依赖于登陆接口返回的token时候,如果登陆都失败了,后面的接口,我们希望也不用执行了.httprunner 中可以用 skip 和 skipIf 去实现此功能. unittest提供了一些跳过指定用例的方法 @unittest.skip(reason):强制跳转.reason是跳转原因 @unittest.skipIf(condition, reason):con…
前言 一个完整的接口自动化测试项目到底该如何设计?httprunner框架的知识点其实并不多,前面基本上把一些重要的概念都介绍完了. 本篇就是一个总结性的,可以用于实际工作中设计一个接口自动化测试项目. 项目文件结构 在 HttpRunner 自动化测试项目中,主要存在如下几类文件: YAML/JSON(必须):测试用例文件,一个文件对应一条测试用例 debugtalk.py(可选):脚本函数,存储项目中逻辑运算函数 该文件存在时,将作为项目根目录定位标记,其所在目录即被视为项目工程的根目录(当…