当前位置: 首页 > news >正文

测试工具:hurl

文章目录

  • Hurl
    • install
    • start
      • demo
    • 功能
      • 使用变量
      • Capturing values 捕获值
      • Asserts 断言
      • 生成报告

Hurl

官网:https://hurl.dev/

Hurl 是一个命令行工具,它运行以简单的纯文本格式定义的 HTTP 请求。
它可以发送请求、捕获值并评估对标头和正文响应的查询

install

  • dowload
    https://github.com/Orange-OpenSource/hurl/releases
  • run
hurl --version

start

  1. 编写.hurl文件
  2. Running Tests
hurl [options] [FILE...]

demo

  • 创建 basic.hurl文件
GET http://localhost:3000
  • 执行 basic.hurl
hurl basic.hurl
# test mode
hurl --test basic.hurl

功能

使用变量

  1. --variable 选项
hurl --variable host=127.0.0.1 --variable id=1234 test.hurl
  1. --variables-file 选项
  • vars.env文件
host=127.0.0.1
id=1234
hurl --variables-file vars.env test.hurl
  1. HURL_name=value 环境变量
export HURL_host=example.net
export HURL_id=1234 
hurl test.hurl
  1. hurl文件中:[Options]
GET https://{{host}}/{{id}}/status
[Options]
variable: host=example.net
variable: id=1234
HTTP 304GET https://{{host}}/health
HTTP 200

Capturing values 捕获值

从 HTTP 响应中提取可选值,并存储在命名变量

  • 语法
[Captures]
my_var: QueryType query
  • QueryType
    status
    header
    url
    cookie
    body
    bytes
    xpath
    jsonpath
    regex
    variable
    duration
    certificate
  • demo
[Captures]
# 状态
my_status: status
# 标头
next_url: header "Location"
# url
landing_url: url
# cookie
session-id: cookie "LSID"
# body
my_body: body
# JSONPath
contact-id: jsonpath "$['id']"

Asserts 断言

[Asserts]

生成报告

http://www.lryc.cn/news/211541.html

相关文章:

  • RateLimiter限流
  • PMP适合哪些人去考?
  • 钡铼技术 工控机中的X86和ARM处理器:哪个更具可扩展性?
  • 软考 系统架构设计师系列知识点之软件构件(3)
  • 中科驭数亮相2023中国移动全球合作伙伴大会
  • WebGIS国产化(信创)研发流程一:数据库的调研与介绍
  • [Shell] ${} 的多种用法
  • 基于SpringBoot的社区医院管理系统设计与实现
  • Spring的执行流程与Bean的生命周期
  • 使用 SQL 的方式查询消息队列数据以及踩坑指南
  • 拿下国家级信创认证 中科驭数KPU SWIFT-2200N成为国内首款满足金融业严苛要求的DPU产品
  • centos怎么禁用和关闭selinux
  • 【LeetCode刷题日志】88.合并两个有序数组
  • 计算机考研 | 2013年 | 计算机组成原理真题
  • [Unity][VR]透视开发系列4-解决只看得到Passthrough但看不到Unity对象的问题
  • 电气工程 自动化 机械工科学生来看看
  • NewStarCTF2023week4-midsql(利用二分查找实现时间盲注攻击)
  • null,undefined的区别?
  • 2.flink编码第一步(maven工程创建)
  • Unit1_1:分治问题之时间复杂度求解
  • React hooks的闭包陷阱
  • 20.3 OpenSSL 对称AES加解密算法
  • 一文详解防御DDoS攻击的几大有效办法
  • Python二级 每周练习题24
  • MySQL - Buffer Pool
  • c++ 拆分函数返回值和参数类型
  • Ubuntu 23.10安装TeXlive并安装CTEX中文支持
  • SpringBoot中CommandLineRunner详解(含源码)
  • 通信基础(一):数据传输基础
  • 故障诊断模型 | Maltab实现BiLSTM双向长短期记忆神经网络故障诊断