首页 > 其他分享 > httprunner 4.x学习 - 6.debugtalk辅助函数的使用

httprunner 4.x学习 - 6.debugtalk辅助函数的使用

时间:2023-05-09 10:01:05浏览次数:38  
标签:__ 辅助 py hrp str import httprunner 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"

查看运行报告

标签:__,辅助,py,hrp,str,import,httprunner,debugtalk
From: https://www.cnblogs.com/yoyoketang/p/17383511.html

相关文章

  • Httprunner修改response中数据类型
    支持的类型默认三种Text,bytes,Dict如果超出三种类型则报错Epydantic.error_wrappers.ValidationError:3validationerrorsforResponseDataEbodyEstrtypeexpected(type=type_error.str)EbodyEbytetypeexpected(type=type_error.bytes)EbodyE......
  • Httprunner使用
    官方中文文档V3https://www.ontheway.cool/HttpRunner3DocsForCN/concepts/step_case_suite/官方文档主要以yaml为例子,所以也用的yamltestcase结构分析:config:节点中设置当前文件全局的配置name:用例名base_url:全局base url,step中的url使用base_url开头param......
  • httprunner 4.x学习 - 5. validate 断言总结
    前言HttpRunner4.x支持两种(jmespath和正则)提取返回结果的方式,并且内置了丰富的校验结果的方式assert校验方式validate可以支持的校验方式assert缩写功能equal"eq","equals","equal"相等less_than"lt","less_than"小于less_or_equals"le&q......
  • HttpRunner 4.x 学习2 - 快速创建项目
    执行 hrpstartprojectdemo  命令,即可初始化指定名称的项目工程。hrpstartprojectauto快速创建项目demo├──.env是环境配置文件├──.gitignore传git仓库时忽略文件├──debugtalk.py辅助函数功能文件├──har辅助函数功能文件......
  • httprunner 4.x学习 - 3.variables 变量声明与引用
    前言在HttpRunner中,支持变量声明(variables)和引用($var或${var})的机制。在config和step中均可以通过variables关键字定义变量,然后在测试步骤中可以通过$变量名称的方式引用变量。区别在于在config中定义的变量为全局的,整个测试用例(testcase)的所有地方均可以引......
  • httprunner 4.x学习 - 2.测试用例结构(testcase)
    前言httprunner4.x版本,YAML/JSON格式用例(testcase)结构延续了之前的config和teststeps两个部分config配置部分config部分示例config:name:"requestmethodstestcasewithfunctions"variables:foo1:config_bar1foo2:config_bar2......
  • Httprunner4.x-02-运行测试项目
    安装环境:pip3installhttprunner遇到问题:subprocess-exited-with-error解决方法:pipinstall--upgradesetuptools ......
  • 交个朋友HttpRunnerV4.x 01-初次见面
     背景:Pytest是纯接口的自动化框架。而HttpRunner一款开源测试平台,可以实现接口测试/压力测试DevOps/数字体验监测。那交个新朋友HttpRunner学习下。 米哈游-平台部、有米科技-测试与工程质量保障部、通用环球医疗-环球健康等客户案例在使用HttpRunner框架。 为什么......
  • 一个全平台、多机器的一键管理多语言开发环境的辅助开发工具【gvc】
    GVC是一个全平台、多机器的一键管理多语言开发环境的辅助开发工具。目前支持MacOS、Linux、Windows三大平台。使用GVC能够轻松帮你一键搭建Go、Python、Java、Nodejs、Rust、Cygwin等开发环境,你可以轻松管理某个开发语言的多个版本,也不用自己操心任何环境变量。此外,它还能轻松......
  • c# winform 辅助测试工具,方便记录错误信息,方便查看调试错误,用INI存储,可脱离数据库...
    测试的时候做的一个辅助测试工具在找到了bug的时候可以方便的记录下出错的页面,出错方式,错误信息和解决办法错误信息都保存到一个ini文件下,可通过软件查看更加直观当然了,因时间仓促做的并不完美,源码提供下载,有兴趣的可自行修改,当然改完了也给我看看更好......