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请求。


      目录
      相关文章
      |
      1月前
      |
      机器学习/深度学习 人工智能 监控
      提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
      在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
      |
      2月前
      |
      测试技术 数据库 UED
      Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
      【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
      107 2
      |
      1月前
      |
      监控 测试技术 PHP
      性能和压力测试
      【10月更文挑战第10天】性能和压力测试
      111 60
      |
      9天前
      |
      Java 测试技术 持续交付
      【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
      本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
      42 4
      【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
      |
      6天前
      |
      JSON Java 测试技术
      SpringCloud2023实战之接口服务测试工具SpringBootTest
      SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
      34 3
      |
      1月前
      |
      JSON 算法 数据可视化
      测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
      这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
      57 0
      测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
      |
      2月前
      |
      缓存 Java 测试技术
      谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
      使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
      谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
      |
      1月前
      |
      缓存 分布式计算 NoSQL
      大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
      大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
      29 2
      |
      2月前
      |
      移动开发 JSON Java
      Jmeter实现WebSocket协议的接口测试方法
      WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
      237 7
      Jmeter实现WebSocket协议的接口测试方法
      |
      2月前
      |
      JSON 移动开发 监控
      快速上手|HTTP 接口功能自动化测试
      HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
      247 3
      快速上手|HTTP 接口功能自动化测试