定时执行自动化脚本-(一)导入保存jmeter参数至文件的jar包
1、先完成jmeter脚本编写,具体怎么写此处不再详述,可以参考其他文档、
2、有时你会发现jmeter脚本执行后,有些响应信息你需要提取到文件中,以便后续使用;
怎么实现呢?个人思路就是,先写个java类,这个类的功能就是参数保存到指定文件;
然后进行java请求,保存该文件
具体步骤:
2.1 idea打开创建一个java项目,添加依赖的jmeter jar包
2.2 创建 OutputService 和PerformenceTest两个类
1 import java.io.File; 2 import java.io.PrintWriter; 3 4 /** 5 * Created by Administrator on 2017/8/28. 6 */ 7 public class OutputService { 8 public static void output(String filename,String csName,String csPwd,String ghsName,String ghsPwd,String ywyName,String ywyPwd) throws Exception{ 9 PrintWriter out=new PrintWriter(new File(filename)); 10 out.write("所有平台注册账号:"+"\r\n"); 11 out.write("超市注册账号:"+"\r\n"+csName+" "+csPwd+"\r\n"+"供货商注册账号:"+"\r\n"+ghsName+" "+ghsPwd+"\r\n"+"业务员注册账号:"+"\r\n"+ywyName+" "+ywyPwd+"\r\n"); 12 out.close(); 13 14 } 15 16 }
OutputService
1 package com.test; 2 3 import org.apache.jmeter.config.Arguments; 4 import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient; 5 import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext; 6 import org.apache.jmeter.samplers.SampleResult; 7 8 9 /** 10 * Created by Administrator on 2017/8/28. 11 */ 12 public class PerformenceTest implements JavaSamplerClient { 13 private SampleResult results; 14 //private String orderNumber; 15 private String csName; 16 private String csPwd; 17 private String ghsName; 18 private String ghsPwd; 19 private String ywyName; 20 private String ywyPwd; 21 private String filename; 22 23 public static void main(String[] args) { 24 // TODO Auto-generated method stub 25 Arguments params = new Arguments(); 26 params.addArgument("filename","0"); 27 // params.addArgument("orderNumber", "0");//设置参数,并赋予默认值0 28 params.addArgument("csName", "0");//设置参数,并赋予默认值0 29 params.addArgument("csPwd", "0"); 30 params.addArgument("ghsName","0"); 31 params.addArgument("ghsPwd", "0"); 32 params.addArgument("ywyName","0"); 33 params.addArgument("ywyPwd", "0"); 34 35 JavaSamplerContext arg0 = new JavaSamplerContext(params); 36 PerformenceTest test = new PerformenceTest(); 37 test.setupTest(arg0); 38 test.runTest(arg0); 39 test.teardownTest(arg0); 40 } 41 // 设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中 42 public Arguments getDefaultParameters() { 43 Arguments params = new Arguments(); 44 params.addArgument("filename", "0");//设置参数,并赋予默认值0 45 //params.addArgument("orderNumber", "0");//设置参数,并赋予默认值0 46 params.addArgument("csName", "0");//设置参数,并赋予默认值0 47 params.addArgument("csPwd","0"); 48 params.addArgument("ghsName", "0");//设置参数,并赋予默认值0 49 params.addArgument("ghsPwd","0"); 50 params.addArgument("ywyName", "0");//设置参数,并赋予默认值0 51 params.addArgument("ywyPwd","0"); 52 return params; 53 } 54 55 56 // 初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行 57 public void setupTest(JavaSamplerContext arg0) { 58 results = new SampleResult(); 59 } 60 61 62 // 测试执行的循环体,根据线程数和循环次数的不同可执行多次 63 @Override 64 public SampleResult runTest(JavaSamplerContext arg0) { 65 // orderNumber = arg0.getParameter("orderNumber"); // 获取在Jmeter中设置的参数值 66 csName = arg0.getParameter("csName"); // 获取在Jmeter中设置的参数值 67 csPwd = arg0.getParameter("csPwd"); 68 ghsName = arg0.getParameter("ghsName"); // 获取在Jmeter中设置的参数值 69 ghsPwd= arg0.getParameter("ghsPwd"); 70 ywyName=arg0.getParameter("ywyName"); 71 ywyPwd=arg0.getParameter("ywyPwd"); 72 filename = arg0.getParameter("filename"); // 获取在Jmeter中设置的参数值 73 results.sampleStart();// jmeter 开始统计响应时间标记 74 try { 75 OutputService test = new OutputService(); 76 test.output(filename,csName,csPwd,ghsName,ghsPwd,ywyName,ywyPwd); 77 results.setSuccessful(true); 78 // 被测对象调用 79 } catch (Throwable e) { 80 results.setSuccessful(false); 81 e.printStackTrace(); 82 } finally { 83 results.sampleEnd();// jmeter 结束统计响应时间标记 84 } 85 return results; 86 } 87 88 89 // 结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行 90 public void teardownTest(JavaSamplerContext arg0) { 91 } 92 93 }
PerformenceTest
2.3 打jar包,步骤如图所示
2.4 然后把打好的JavaSampler.jar包cp到jmeter目录\lib\ext下
3、重启jmeter,加载刚导入的jar包
4、创建java请求,选择jar包的类名称,参数会自动加载出来,且默认值均为0,然后给各个参数赋值,下图是我给参数化了,也可以写具体的值
执行该请求,参数值会保存至指定的文件
执行结果如下图所示
转载于:https://www.cnblogs.com/chenchen-tester/p/7459829.html
定时执行自动化脚本-(一)导入保存jmeter参数至文件的jar包相关推荐
- ubuntu 定时执行php文件,Ubuntu crontab 定时执行php脚本文件
什么是Cron和Crontab Unix和Linux系统的各个发行版本基本都支持Cron,Cron /Crontab允许我们在设定的时间自动执行或定时执行某个任务,如应用程序或脚本.更详细的概念和使用 ...
- Linux 定时执行shell 脚本
2019年第 85 篇文章,总第 109 篇文章 本文大约2000字,阅读大约需要6分钟 crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令. 定时执行shell ...
- ubuntu定时执行python脚本方法及实例代码
一.前言 本文将介绍ubuntu系统下如何定时执行shell脚本.python脚本,ubuntu系统有一个定时任务的管理器crontab,我们只需要编辑定时任务,然后重启定时任务服务就好了. 二.工具 ...
- linux定时执行python脚本_ubuntu定时执行python脚本实例代码
前言 本文将介绍ubuntu系统下如何定时执行shell脚本.python脚本,ubuntu系统有一个定时任务的管理器crontab,我们只需要编辑定时任务,然后重启定时任务服务就好了. cronta ...
- asp python 定时任务_Ubuntu使用crontab定时执行python脚本
转载其他博主的博客,记录过程,及使用中的一些问题 有时会遇到需要在linux的主机上定时的执行某个python脚本来处理事情的需求,这时可以考虑使用crontab来实现. 关于crontab的介绍,参 ...
- linux监控php脚本执行时间,在LINUX环境下定时执行php脚本
1. 使用Crontab定时执行linux环境下的php脚本文件 Cron,它是一个linux下的定时执行工具.根用户以外的用户可以使用 crontab 工具来配置 cron 任务.所有用户定义的 c ...
- linux定时python,linux 中定时执行python脚本
一.让Python随Linux开机自动运行 准备好要自启的脚本auto.py 用root权限编辑以下文件 sudo vim /ect/rc.local 在exit 0上面编辑启动脚本的命令(编辑rc. ...
- linux定时执行shell脚本
linux定时执行shell脚本 需求:每分钟检查下文件是否存在 解决思路: 1.编写shell脚本,检查文件是否存在,存在在文件中记录yes,不存在记录no 2.将脚本加入linux定时任务cron ...
- 使用sae定时执行Python脚本
使用sae定时执行Python脚本 使用sae定时执行Python脚本 12,May,2014 | 57 Views 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周 ...
- contOS crontab 定时执行python脚本
contOS crontab 定时执行python脚本 安装crontab yum install crontabs crontab语法 常用系统命令 ntsysv //查看系统开机启动项 chkco ...
最新文章
- Django博客系统(用户中心展示)
- 【Python】GroupBy:数据聚合与分组运算
- php gbk字符串 存utf8 html,php utf8 gbk 数组 互转(示例代码)
- memmove和memcpy
- 根据上边栏和下边栏的高度进行布局
- ERROR: SonarQube scanner exited with non-zero code: 137
- find 是区分大小写的。对于不区分大小写的写法(转载)
- 恕我直言,你的模型可能并没看懂 prompt 在说啥
- pyculiarity解决报错ValueError: data must be a 2 column data.frame, with thefirst column...
- TracKit-Ocean:目标跟踪网络(一) -- 环境部署及测试
- 根据crash学习ARM64虚拟地址空间布局
- NSString 与 Unicode
- 2018总结 2019计划
- 怎么修改Ubuntu和Windows双系统启动菜单项顺序?
- [功能改进]Ctrl+Enter直接提交评论
- stm32学习之定时器中断时间设置与计算
- ArrayList,LinkedList,Vector三者的异同
- 掌阅科技净利大增却遇跌停?到底是有利好还是利空?
- 将tif文件转换成mrc文件
- 【个人作品】推荐一个SIP客户端-软电话,基于SIP协议,语言C++,界面QT4 开源,asterisk,tribox测试成功