wrk post lua脚本取excel参数压力测试,判断接口性能

简介: wrk post lua脚本取excel参数压力测试,判断接口性能

在使用wrk进行压力测试时,可以通过Lua脚本获取Excel参数,并进行POST请求。下面是一个使用Lua脚本获取Excel参数,并进行POST请求的示例:


1. 假设有一个参数Excel文件params.xlsx,格式如下:

    | param1   | param2   |
    | :------: | :------: |
    | value1   | value2   |
    | value3   | value4   |


    2. 在Lua脚本中,使用luawin32库读取Excel文件内容,并将内容转为字符串。使用Lua的lunajson库将字符串转为JSON格式,并发送POST请求。

    -- 引入所需库
    local json = require("lunajson")
    local luawin32 = require("luawin32")
    -- 读取Excel中的参数
    function read_params()
       local excel = luawin32.new("Excel.Application")
       local workbook = excel:Workbooks():Open("params.xlsx")
       local worksheet = workbook:Worksheets(1)
       local params = {}
       for row=1,2 do
          local param1 = worksheet:Cells(row, 1):Value2()
          local param2 = worksheet:Cells(row, 2):Value2()
          params[param1] = param2
       end
       workbook:Close(false)
       excel:Quit()
       return params
    end
    -- 构造POST请求
    function request()
       local params = read_params()
       local headers = {}
       headers["Content-Type"] = "application/json"
       local body = json.encode(params)
       return wrk.format("POST", "/test", headers, body)
    end



    在这个例子中,我们使用了luawin32库读取Excel文件内容,并将内容转化为表格形式的参数。接着,我们使用Lua的lunajson库将参数表格转为JSON字符串。最后,我们使用wrk.format()函数构造POST请求,并将请求头,请求体以及POST请求的路径信息传递给该函数。


    可以使用以下命令行参数来执行上述测试:



      wrk -t10 -c100 -d20s -s test.lua http://example.com



      其中,test.lua为包含上述代码的Lua脚本文件名,http://example.com为测试目标主机名。这将使用10个线程和100个连接,测试20秒,并执行Lua脚本以模拟发送POST请求。


      目录
      相关文章
      |
      4月前
      |
      测试技术 Linux
      VPS一键测试脚本,无痕体验+自动导出,服务器测试更轻松
      NodeQuality 是一款整合 Yabs、IPQuality、NetQuality 等主流 VPS 测试脚本的全能工具,支持一键测试硬件性能、IP属性、网络质量,并新增分享与导出功能。其“无痕测试”设计不安装依赖、不留残留,兼容性强;测试结果自动排版、截图并生成分享链接,极大提升效率。适合需要全面、快速、干净测试 VPS 的用户,是运维和测评的高效利器。
      359 3
      |
      4月前
      |
      测试技术 UED 开发者
      性能测试报告-用于项目的性能验证、性能调优、发现性能缺陷等应用场景
      性能测试报告用于评估系统性能、稳定性和安全性,涵盖测试环境、方法、指标分析及缺陷优化建议,是保障软件质量与用户体验的关键文档。
      |
      4月前
      |
      存储 测试技术 API
      数据驱动开发软件测试脚本
      今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
      147 0
      |
      6月前
      |
      Web App开发 JavaScript 测试技术
      Playwright 极速入门:1 小时搞定环境搭建与首个测试脚本
      本文带你1小时快速入门Playwright,完成环境搭建并编写首个测试脚本。Playwright是微软推出的现代化Web自动化测试工具,支持Chromium、Firefox和WebKit三大浏览器引擎,具备跨平台、多语言(Python/JS/Java/C#)特性。其核心优势包括:智能自动等待机制减少失败率、内置录制工具实时生成脚本、多语言灵活选择,以及真移动端设备模拟能力,显著提升测试效率和可靠性。
      |
      7月前
      |
      Java 测试技术 容器
      Jmeter工具使用:HTTP接口性能测试实战
      希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
      1153 23
      |
      9月前
      |
      SQL 安全 测试技术
      2025接口测试全攻略:高并发、安全防护与六大工具实战指南
      本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
      1482 24
      |
      11月前
      |
      缓存 NoSQL 搜索推荐
      【📕分布式锁通关指南 03】通过Lua脚本保证redis操作的原子性
      本文介绍了如何通过Lua脚本在Redis中实现分布式锁的原子性操作,避免并发问题。首先讲解了Lua脚本的基本概念及其在Redis中的使用方法,包括通过`eval`指令执行Lua脚本和通过`script load`指令缓存脚本。接着详细展示了如何用Lua脚本实现加锁、解锁及可重入锁的功能,确保同一线程可以多次获取锁而不发生死锁。最后,通过代码示例演示了如何在实际业务中调用这些Lua脚本,确保锁操作的原子性和安全性。
      609 6
      【📕分布式锁通关指南 03】通过Lua脚本保证redis操作的原子性
      |
      11月前
      |
      JSON 前端开发 测试技术
      大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
      大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
      888 10
      大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
      |
      9月前
      |
      SQL 测试技术
      除了postman还有什么接口测试工具
      最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
      419 2
      |
      11月前
      |
      JSON 前端开发 API
      以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
      以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
      647 5
      以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡