httprunner 4.x学习 - 6.debugtalk辅助函数的使用
前言
httprunner 4.x 可以支持go语言和python语言写辅助函数,本篇主要介绍python语言写辅助函数。
debugtalk辅助函数
在项目根目录新建 debugtalk.py 文件写辅助函数可以实现自动化生成动态参数。
如下生成时间戳 和 随机字符串示例
# debugtalk.py
import time
import uuid
def current_time():
"""获取时间戳"""
return time.strftime("%Y-%m-%d %H:%M:%S")
def rand_str():
"""生成随机字符串"""
return str(uuid.uuid4())[:6]
在yaml 用例中引用函数
config:
name: 引用变量
teststeps:
-
name: post
request:
method: POST
url: http://httpbin.org/post
json:
username: ${rand_str()}
password: "123456"
validate:
- eq: [status_code, 200]
变量中也可以引用函数
config:
name: 引用变量
variables:
user: ${rand_str()}
teststeps:
-
name: post
request:
method: POST
url: http://httpbin.org/post
json:
username: ${user}
password: "123456"
validate:
- eq: [status_code, 200]
使用hrp
命令运行用例
>hrp run test_d.yml --gen-html-report
它会自动生成一个.debugtalk_gen.py
文件
# NOTE: Generated By hrp v4.3.3, DO NOT EDIT!
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from debugtalk import *
if __name__ == "__main__":
import funppy
funppy.register("current_time", current_time)
funppy.register("rand_str", rand_str)
funppy.serve()
此文件是自动生成的,不用管。
除了会生成.debugtalk_gen.py
文件, 从运行日志可以看到还会在C:\Users\你自己电脑用户名
目录生成一个.hrp文件
expectValueType=int64 result=true
9:49AM INF run step end exportVars=null step=post success=true type=request
9:49AM INF run testcase end testcase="引用变量"
9:49AM INF quit hashicorp plugin process
2023-05-09T09:49:26.959+0800 [WARN] grpc-py: plugin failed to exit gracefully
2023-05-09T09:49:26.972+0800 [ERROR] grpc-py: plugin process exited: path=C:\Users\dell\.hrp\venv\Scripts\python.exe pid=
17232 error="exit status 1"
查看运行报告
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-05-09 postman使用教程9-点 code 按钮生成代码段
2020-05-09 Cypress web自动化1-windows环境npm安装Cypress
2018-05-09 appium+python自动化43-微信公众号webview操作
2018-05-09 appium+python自动化42-微信公众号