美文网首页
JSR223使用python语言

JSR223使用python语言

作者: _Irving | 来源:发表于2023-03-27 17:35 被阅读0次
相关测试元件包括:
  • 定时器:  JSR223 Timer
  • 前置处理器:JSR223 PreProcessor
  • 采样器:  JSR223 Sampler
  • 后置处理器:JSR223 PostProcessor
  • 断言:   JSR223 断言
  • 监听器:  JSR223 Listener

JSR223 可以支持Groovy、Javascript、Python等脚本

下载python相关jar包

地址https://search.maven.org/artifact/org.python/jython-standalone
下载好后将其放到jemter的/lib/ext路径下,重启jmeter就可以了

image.png
实例
  1. 下面是测试中遇到一个请求的响应体一部分
    "lists": {
        "datagrid_hkfsbg": {
            "gridId": null, 
            "limit": null, 
            "list": [
                {
                    "hjszd": "迁移无", 
                    "zhiwu": "", 
                    "dwyb": "", 
                    "glrywlsh": "QY744086", 
                    "dwdh": "", 
                    "gjjzxbh": "", 
                    "gtjkrgjjzh": "", 
                    "gtjkrzjlx": "", 
                    "jtdqfwts": "", 
                    "dkjchlx": "01"
                }
            ], 
            "start": null, 
            "total": null
        }
    }
  1. 但是我们在这个请求后有一个必要的请求的请求体包含如下json格式内容如下:
[
    {
          "hjszd": "迁移无", 
          "zhiwu": "", 
          "dwyb": "", 
          "glrywlsh": "QY744086", 
          "dwdh": "", 
          "gjjzxbh": "", 
          "gtjkrgjjzh": "", 
          "gtjkrzjlx": "", 
          "jtdqfwts": "", 
          "dkjchlx": "01"
          "__id___": "0", 
          "_row_": "0"
        }            
]
  1. 我们和前面请求响应体内容一比较,发现这个请求参数值是前面响应体的一部分,只是多了两个键值对
"__id___": "0", 
"_row_": "0"
  1. 我们使用json提取器获取响应体此部分内容


    image.png
  2. 然后添加JSR223 Sampler(前面添加jar包后,重启后在此处就能选择Python语言)


    image.png
  3. 然后在下面添加我们的python脚本
import json
s=vars.get("list") #获取jmeter的参数
s=json.loads(s)  #JSON 字符串解码为 Python 对象
for i in range(len(s)):
    s[i]["__id___"]=str(i)
    s[i]["_row_"]=str(i)
s=json.dumps(s,ensure_ascii=False)  #将 Python 对象编码成 JSON 字符串
vars.put("list_new",s)
log.info(u"list_new:" + s)
image.png
  1. 然后在jmeter请求中使用${list_new}就可以了

相关文章

网友评论

      本文标题:JSR223使用python语言

      本文链接:https://www.haomeiwen.com/subject/geszrdtx.html