Jmeter BeanShell采样器提取接口响应并传递(三)

1、将fastjson-1.2.68.jar放置C:\jmeter\apache-jmeter-5.0\lib路径下

2、CSV 数据文件设置多个手机号

3、添加登录接口,${mobile}调用2种的mobile值

4、登录接口响应数据

5、BeanShell 取样器提取登录接口响应数据

//导入json包
import com.alibaba.fastjson.JSONObject;
//获取获取请求的返回值
String response_data = prev.getResponseDataAsString();
//日志打印获取请求的返回值
log.info(response_data);
//将String类型的返回值构造成JSONObject对象
JSONObject data_obj = JSONObject.parseObject(response_data);
String msg = data_obj.get("msg").toString();  //取出“msg”的值
String token = data_obj.get("data").get("token").toString();  //取出“token”的值
log.info(msg);
log.info(token);
vars.put("token",token);//赋值token供后面接口调用

6、jmeter打印日志正常

2020-04-03 17:26:54,061 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-04-03 17:26:54,066 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-04-03 17:26:54,068 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2020-04-03 17:26:54,512 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : 线程组
2020-04-03 17:26:54,512 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group 线程组.
2020-04-03 17:26:54,512 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2020-04-03 17:26:54,512 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
2020-04-03 17:26:54,523 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-04-03 17:26:54,523 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-04-03 17:26:54,525 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-1
2020-04-03 17:26:54,525 INFO o.a.j.s.FileServer: Stored: C:\jmeter\apache-jmeter-5.0\bin\parameter\mobile.csv
2020-04-03 17:26:54,901 INFO o.a.j.u.BeanShellTestElement: {"code":0,"msg":"成功","data":{"token":"bearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9tZW1iZXItYXBpLnN0MS50ZXN0LmxhbnhpbmthLmNvbVwvMi4wXC91c2Vyc1wvbG9naW4iLCJpYXQiOjE1ODU5MDYwMTQsImV4cCI6MTU4NzIwMjAxNCwibmJmIjoxNTg1OTA2MDE0LCJqdGkiOiJIa0JhSkl2bTlKVldnQTZ2Iiwic3ViIjo1ODQ5MDIsInBydiI6IjNhN2IwNmU5NTBkMDhlMjMzMjkyMjdjN2E2YTUyMzQyYWJiNGYxOWIiLCJidXNpbmVzc190eXBlIjoiNiJ9.ylbSC_IL_hWjdblFDQQO1TyGexRBFxPZTVPX4ATRJ3k"}}
2020-04-03 17:26:54,902 INFO o.a.j.u.BeanShellTestElement: 成功
2020-04-03 17:26:54,903 INFO o.a.j.u.BeanShellTestElement: bearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9tZW1iZXItYXBpLnN0MS50ZXN0LmxhbnhpbmthLmNvbVwvMi4wXC91c2Vyc1wvbG9naW4iLCJpYXQiOjE1ODU5MDYwMTQsImV4cCI6MTU4NzIwMjAxNCwibmJmIjoxNTg1OTA2MDE0LCJqdGkiOiJIa0JhSkl2bTlKVldnQTZ2Iiwic3ViIjo1ODQ5MDIsInBydiI6IjNhN2IwNmU5NTBkMDhlMjMzMjkyMjdjN2E2YTUyMzQyYWJiNGYxOWIiLCJidXNpbmVzc190eXBlIjoiNiJ9.ylbSC_IL_hWjdblFDQQO1TyGexRBFxPZTVPX4ATRJ3k
2020-04-03 17:26:57,255 INFO o.a.j.u.BeanShellTestElement: {"code":0,"msg":"成功","data":{"token":"bearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9tZW1iZXItYXBpLnN0MS50ZXN0LmxhbnhpbmthLmNvbVwvMi4wXC91c2Vyc1wvbG9naW4iLCJpYXQiOjE1ODU5MDYwMTcsImV4cCI6MTU4NzIwMjAxNywibmJmIjoxNTg1OTA2MDE3LCJqdGkiOiJKb09tMjBEUkJZYnc4QUxYIiwic3ViIjo1ODY1NTYsInBydiI6IjNhN2IwNmU5NTBkMDhlMjMzMjkyMjdjN2E2YTUyMzQyYWJiNGYxOWIiLCJidXNpbmVzc190eXBlIjoiNiJ9.dsMRw7wCPLo25t0rc7nRM4EUbIeUI4BBH5AkAEu1tZ0"}}
2020-04-03 17:26:57,256 INFO o.a.j.u.BeanShellTestElement: 成功
2020-04-03 17:26:57,256 INFO o.a.j.u.BeanShellTestElement: bearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9tZW1iZXItYXBpLnN0MS50ZXN0LmxhbnhpbmthLmNvbVwvMi4wXC91c2Vyc1wvbG9naW4iLCJpYXQiOjE1ODU5MDYwMTcsImV4cCI6MTU4NzIwMjAxNywibmJmIjoxNTg1OTA2MDE3LCJqdGkiOiJKb09tMjBEUkJZYnc4QUxYIiwic3ViIjo1ODY1NTYsInBydiI6IjNhN2IwNmU5NTBkMDhlMjMzMjkyMjdjN2E2YTUyMzQyYWJiNGYxOWIiLCJidXNpbmVzc190eXBlIjoiNiJ9.dsMRw7wCPLo25t0rc7nRM4EUbIeUI4BBH5AkAEu1tZ0
2020-04-03 17:26:59,299 INFO o.a.j.t.JMeterThread: Thread is done: 线程组 1-1
2020-04-03 17:26:59,299 INFO o.a.j.t.JMeterThread: Thread finished: 线程组 1-1
2020-04-03 17:26:59,300 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-04-03 17:26:59,300 INFO o.a.j.s.FileServer: Close: C:\jmeter\apache-jmeter-5.0\bin\parameter\mobile.csv
2020-04-03 17:26:59,301 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)

7、debug采样器响应数据

mobile和token值成功提取出来

JMeterVariables:
JMeterThread.last_sample_ok=false
JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@772e9455
START.HMS=091322
START.MS=1585876402673
START.YMD=20200403
TESTSTART.MS=1585906014066
__jm__线程组__idx=0
__jmeter.U_T__=线程组 1-1
mobile=18221124104
token=bearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9tZW1iZXItYXBpLnN0MS50ZXN0LmxhbnhpbmthLmNvbVwvMi4wXC91c2Vyc1wvbG9naW4iLCJpYXQiOjE1ODU5MDYwMTQsImV4cCI6MTU4NzIwMjAxNCwibmJmIjoxNTg1OTA2MDE0LCJqdGkiOiJIa0JhSkl2bTlKVldnQTZ2Iiwic3ViIjo1ODQ5MDIsInBydiI6IjNhN2IwNmU5NTBkMDhlMjMzMjkyMjdjN2E2YTUyMzQyYWJiNGYxOWIiLCJidXNpbmVzc190eXBlIjoiNiJ9.ylbSC_IL_hWjdblFDQQO1TyGexRBFxPZTVPX4ATRJ3k

8、调用token接口,参数{"test1":${token}}中token为BeanShell 取样器中的token变量值

9、查看采样器中token值传入是正确的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pymysql.err.InternalError: (1054, Unknown column '27D24A3B' in 'where clause')之错误解决

原代码: query_image_path1SELECT imageTempFilename_0,imageTempFilename_1 FROM %s% tablename query_image_path2 where IDprojectTemp%s and IDproject%s and cameraID%s and imageflag%s%(IDprojectTemp,IDproject,cameraID,imageflag) query_image_path_sqlq…

Jmeter BeanShell采样器提取接口响应写入csv文件(四)

1、调用登录接口获取response数据 {"code":0,"msg":"成功","data":{"token":"bearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9tZW1iZXItYXBpLnN0MS50ZXN0LmxhbnhpbmthLmNvbVwvMi4wXC91c2Vyc1wvb…

js 给动态li添加动态点击事件

一、给动态li添加动态点击事件 试了网上的on,live,bind绑定&#xff0c;都不起作用。最后看到https://bbs.csdn.net/topics/390414057 上的代码。试了一遍&#xff0c;demo ok。 附上demo&#xff1a; <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/…

Jmeter JDBC Request执行多条SQL语句

之前写过Jmeter操作mysql的文章https://blog.csdn.net/qq_36502272/article/details/88891873今天我们再看下如何操作多条sql语句 1、添加JDBC Connection Configuration并配置 Database URL为MySQL的连接串&#xff0c;如果要执行多条SQL语句&#xff0c;后面还要添加“?al…

Python使用HMACSHA1加密生成签名

按key升序&#xff0c;key不为sign&#xff0c;value不为空&#xff0c;再把key和value拼装成xa&yb格式&#xff0c;然后使用HmacSHA1算法生成签名 import json,hashlib,hmac,base64def sign(data):date_newfor key,value in sorted(data.items()):if key!"sign"…

sql常见语句记录

1、查询sql中数据不为空并且不为null SELECT * FROM 表名 WHERE 字段名 IS NOT NULL AND 字段名 <> ; # ‘’表示为空

Pyhon列表排序(升序和降序)

一、sort()方法&#xff1a; list.sort(cmpNone, keyNone, reverseFalse) cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 key -- 主要是用来进行比较的元素&#xff0c;只有一个参数&#xff0c;具体的函数的参数就是取自于可迭代对象中&#xff0c;指定可迭…

mysql deadlock found when trying to get lock暴力解决

如若你在运行代码时出现此问题&#xff0c;那么此博客可以略过了。 如若你也不知道怎么操作后&#xff0c;突然对表进行增删查改的操作后&#xff0c;出现此问题&#xff0c;那么采用暴力解决法 方案一&#xff1a; 1、查询是否锁表 show OPEN TABLES where In_use >0; …

Pytest Hooks方法之pytest_runtest_makereport获取测试用例结果

pytest提供的钩子(Hooks)方法之pytest_runtest_makereport&#xff0c;可以更清晰的了解用例的执行过程&#xff0c;并获取到每个用例的执行结果。 一、Hook 方法之 pytest_runtest_makereport源码&#xff1a; hookspec(firstresultTrue) def pytest_runtest_makereport(ite…

服务端和客户端测试连通ip设置记录

若服务器和客户端在同一台电脑&#xff0c;即为本机测试&#xff0c;则测试都用127.0.0.1 若是服务器和客户端在两台电脑&#xff0c;则需要在同一局域网内&#xff0c;并且ip地址填写本机ip。 若是发布在云端测试&#xff0c;则服务端地址为0.0.0.0&#xff1b;客户端地址填…

Pytest Hooks方法之pytest_collection_modifyitems改变测试用例执行顺序

pytest默认执行用例顺序是根据项目下文件名称按ascii码去收集运行的&#xff0c;文件里的用例是从上往下按顺序执行的. pytest_collection_modifyitems 这个函数顾名思义就是收集测试用例、改变用例的执行顺序的。 一、pytest_collection_modifyitems 是测试用例收集完成后&am…

MySQL 8.0开始Group by不再排序

如题所示&#xff0c;mysql 8.0 开始 group by 默认是没有排序的 那mysql 8.0 之前和 8.0 就有可能结果出现不同 需要警惕 查看版本信息 rootmysql3306.sock>[employees]>show variables like %version%; ------------------------------------------------------- | V…

Python操作Jira提交BUG

Jira提供了完善的RESTful API&#xff0c;如果不想直接请求API接口可以使用Python的Jira库来操作Jira jira Python文档https://jira.readthedocs.io/en/latest/ 安装&#xff1a;pip install jira 认证&#xff1a;Jira的访问是有权限的&#xff0c;在访问Jira项目时首先要进…

mysql 导入导出大文件

mysql导入&#xff1a; load data local infile C:/Users/Administrator.USER-20190225BY/Desktop/test.csv into table test fields terminated by\t lines terminated by\n ignore 1 lines (xianlu,chepai,shijian,jing,wei) mysql导出&#xff1a; select * from mysql.te…

Pytest之pytest.assume用例中断言1失败会继续执行后续代码断言2

一般我们做自动化测试时&#xff0c;一个用例会写多个断言&#xff0c;当第一个断言失败后&#xff0c;后面的代码就不会执行了&#xff0c;于是我们引进了pytest-assume插件可以解决断言失败后继续断言的问题。 一、安装依赖包 pip install pytest-assume 二、使用assert进…

Unable to round-trip http request to upstream错误

这几天打开浏览器经常出现Unable to round-trip http request to upstream。提示。 一直以为是网速的问题。今天百度才发现是因为打开了蓝灯。赶紧关掉蓝灯即可

Pytest之pytest-assume同用例多断言,断言1失败会执行后续代码及断言2

一般我们做自动化测试时&#xff0c;一个用例会写多个断言&#xff0c;当第一个断言失败后&#xff0c;后面的代码就不会执行了&#xff0c;于是我们引进了pytest-assume插件可以解决断言失败后继续断言的问题。一、安装依赖包pip install pytest-assume二、使用assert进行断言…

无法打开包括文件: “corecrt.h”: No such file or directory

刚开始安装qt&#xff0c;测试是否安装成功就出现此问题&#xff0c;让人很头大 参考&#xff1a;https://blog.csdn.net/x356982611/article/details/51140807的播客 编译时候使用的是最新的sdk版本10.0.10586.0版本但是它里面没有ucrt目录&#xff0c;问题找到了。 看了下v…

Pytest-ordering自定义用例执行顺序

我们一般在做自动化测试时&#xff0c;用例设计之间应该是可以相互独立执行的&#xff0c;没有一定的前后依赖关系的&#xff0c;如果我们真的有前后依赖&#xff0c;想指定用例的先后顺序&#xff0c;可以用到pytest-ordering插件解决这个问题 1、安装依赖包 pip install pyt…

LNK2019无法解析的外部符号 public: static struct cv::Ptr class cv::xfeatures2d::SURF问题解决

原因是lib文件没有引入 opencv_xfeatures2d320d.lib opencv_features2d320d.lib 在配置opencv时&#xff0c;应把D:\Program Files (x86)\opencv3\opencv\build\x64\vc14\lib下所有的lib文件都添加到链接器的输入中 也有可能是你下载的opencv库中没有这个lib&#xff0c;而你…