




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第jmeter执行python脚本的实现示例目录概要一、环境准备1.测试工具2.测试资源二、实现过程1.在jmeter中设置参数2.通过jmeter修改py模板3.通过jmeter执行py脚本4.使用获得的输出信息三、运行调试1.运行前2.运行后
概要
本文主要介绍一个通过jmeter执行python脚本的测试场景。主要过程如下:
在jmeter中设置参数;通过jmeter修改py模板文件,并创建后续需执行的py脚本;通过jmeter执行py脚本文件,获得py文件的执行输出结果,并设置为变量;使用变量进行后续测试。
提示:以下为本篇文章正文内容,案例仅供参考。
一、环境准备
1.测试工具
jmeter、python,与版本无关,任意版本均可。
2.测试资源
py模板文件:
1)自定义需要在py模板文件中修改的参数,比如:我们想在jmeter中修改py脚本中某些变量的初始值,我们可以在采用特殊标记[变量名]的方式标记其为可替换变量;
2)使用print()方法打印输出目标参数。也可以采用其他方法,比如将多个变量值写入到csv文件中,后续可以使用csv文件进行参数化。
图-变量设置:[times]、[modelName]、[modelType]
图-输出设置:print(filepath)
二、实现过程
1.在jmeter中设置参数
如图,可以选择添加前置处理器用户参数,用于设置相关变量的初始值;
2.通过jmeter修改py模板
添加取样器BeanShell取样器,编写读取文件、写入文件代码。主要思路:读取模板文件内容,替换目标字符后,写入到新文件中;
//模板文件位置
Stringread_path=vars.get("dir")+File.separator+"files\\mkxml\\template_demo.py";
//输出文件位置
Stringwrite_path=vars.get("dir")+File.separator+"files\\mkxml\\demo.py";
//读取模板文件内容
StringBufferres=newStringBuffer();
Stringline=null;
Fileread_file=newFile(read_path);
BufferedReaderreader=newBufferedReader(newInputStreamReader(newFileInputStream(read_file),"UTF-8"));
while((line=reader.readLine())!=null){
res.append(line+"\n");
reader.close();
//处理模板内容,替换相关参数
Stringcontent=res.toString();
content=content.replace("[times]",vars.get("times"));
content=content.replace("[modelName]",vars.get("modelName"));
content=content.replace("[modelType]",vars.get("modelType"));
//写入内容到输出文件位置
Filewrite_file=newFile(write_path);
BufferedWriterwriter=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(write_file),"UTF-8"));
writer.write(content);
writer.flush();
writer.close();
3.通过jmeter执行py脚本
添加取样器BeanShell取样器,通过cmd命令执行py脚本,并获得窗口输出信息;
//以cmd命令行方式调用py脚本,为多组命令连接符
Stringcmd="cmd/ccd/d"+vars.get("dir")+File.separator+"files\\mkxmlpythondemo.py";
Runtimert=Runtime.getRuntime();
Processpr=rt.exec(cmd);
pr.waitFor();
BufferedReaderbr=newBufferedReader(newInputStreamReader(pr.getInputStream()));
Stringline="";
StringBuilderresponse=newStringBuilder();
while((line=br.readLine())!=null){
response.append(line);
br.close();
//设置成可在jmeter中使用的变量,filepath为目标XML文件所在位置
vars.put("filepath",response.toString());
4.使用获得的输出信息
后续需要使用输出变量时,可以通过${变量名}的形式进行参数化。
三、运行调试
添加后置处理器调试后置处理程序及
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CAZG 003-2019亚洲象饲养管理技术规范
- 中信java面试题及答案
- 冠生园面试题及答案
- 猩便利java面试题及答案
- 都市家庭面试题及答案
- 人教版四上语文园地三教学设计
- 影视制作合作合同范本
- 同居期间怀孕赔偿协议书
- 公司拖欠员工股份协议书
- 房东解除租赁合同范本
- 江苏省苏州市常熟市2023-2024学年五年级下学期数学期末检测
- 江苏省南京市鼓楼区2023-2024学年五年级下学期期末数学试卷
- 华夏文化五千年智慧树知到期末考试答案章节答案2024年大连工业大学
- YB/T 6328-2024 冶金工业建构筑物安全运维技术规范(正式版)
- DZ∕T 0148-2014 水文水井地质钻探规程(正式版)
- 弘扬非遗传统文化-评书2
- 《商业文化与素养》教案全套 第一周专题一认知商业文化1-第十八周专题六自我管理3
- AED(自动体外除颤仪)的使用
- 2024中考复习必背初中英语单词词汇表(苏教译林版)
- 《土源性线虫病》课件
- 找个管家管安全管理
评论
0/150
提交评论