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包相关推荐

  1. ubuntu 定时执行php文件,Ubuntu crontab 定时执行php脚本文件

    什么是Cron和Crontab Unix和Linux系统的各个发行版本基本都支持Cron,Cron /Crontab允许我们在设定的时间自动执行或定时执行某个任务,如应用程序或脚本.更详细的概念和使用 ...

  2. Linux 定时执行shell 脚本

    2019年第 85 篇文章,总第 109 篇文章 本文大约2000字,阅读大约需要6分钟 crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令. 定时执行shell ...

  3. ubuntu定时执行python脚本方法及实例代码

    一.前言 本文将介绍ubuntu系统下如何定时执行shell脚本.python脚本,ubuntu系统有一个定时任务的管理器crontab,我们只需要编辑定时任务,然后重启定时任务服务就好了. 二.工具 ...

  4. linux定时执行python脚本_ubuntu定时执行python脚本实例代码

    前言 本文将介绍ubuntu系统下如何定时执行shell脚本.python脚本,ubuntu系统有一个定时任务的管理器crontab,我们只需要编辑定时任务,然后重启定时任务服务就好了. cronta ...

  5. asp python 定时任务_Ubuntu使用crontab定时执行python脚本

    转载其他博主的博客,记录过程,及使用中的一些问题 有时会遇到需要在linux的主机上定时的执行某个python脚本来处理事情的需求,这时可以考虑使用crontab来实现. 关于crontab的介绍,参 ...

  6. linux监控php脚本执行时间,在LINUX环境下定时执行php脚本

    1. 使用Crontab定时执行linux环境下的php脚本文件 Cron,它是一个linux下的定时执行工具.根用户以外的用户可以使用 crontab 工具来配置 cron 任务.所有用户定义的 c ...

  7. linux定时python,linux 中定时执行python脚本

    一.让Python随Linux开机自动运行 准备好要自启的脚本auto.py 用root权限编辑以下文件 sudo vim /ect/rc.local 在exit 0上面编辑启动脚本的命令(编辑rc. ...

  8. linux定时执行shell脚本

    linux定时执行shell脚本 需求:每分钟检查下文件是否存在 解决思路: 1.编写shell脚本,检查文件是否存在,存在在文件中记录yes,不存在记录no 2.将脚本加入linux定时任务cron ...

  9. 使用sae定时执行Python脚本

    使用sae定时执行Python脚本 使用sae定时执行Python脚本 12,May,2014 | 57 Views 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周 ...

  10. contOS crontab 定时执行python脚本

    contOS crontab 定时执行python脚本 安装crontab yum install crontabs crontab语法 常用系统命令 ntsysv //查看系统开机启动项 chkco ...

最新文章

  1. Django博客系统(用户中心展示)
  2. 【Python】GroupBy:数据聚合与分组运算
  3. php gbk字符串 存utf8 html,php utf8 gbk 数组 互转(示例代码)
  4. memmove和memcpy
  5. 根据上边栏和下边栏的高度进行布局
  6. ERROR: SonarQube scanner exited with non-zero code: 137
  7. find 是区分大小写的。对于不区分大小写的写法(转载)
  8. 恕我直言,你的模型可能并没看懂 prompt 在说啥
  9. pyculiarity解决报错ValueError: data must be a 2 column data.frame, with thefirst column...
  10. TracKit-Ocean:目标跟踪网络(一) -- 环境部署及测试
  11. 根据crash学习ARM64虚拟地址空间布局
  12. NSString 与 Unicode
  13. 2018总结 2019计划
  14. 怎么修改Ubuntu和Windows双系统启动菜单项顺序?
  15. [功能改进]Ctrl+Enter直接提交评论
  16. stm32学习之定时器中断时间设置与计算
  17. ArrayList,LinkedList,Vector三者的异同
  18. 掌阅科技净利大增却遇跌停?到底是有利好还是利空?
  19. 将tif文件转换成mrc文件
  20. 【个人作品】推荐一个SIP客户端-软电话,基于SIP协议,语言C++,界面QT4 开源,asterisk,tribox测试成功

热门文章

  1. bash 变量使用技巧
  2. 根据TTL值判断目标主机的类型
  3. oracle 自定义比较函数
  4. Slob分配器的数据结构和分配逻辑
  5. goland gorm分组查询统计_MySQL·查询(一)
  6. maxdea如何计算指数_10分钟计算出指数温度,开始基金定投之旅~
  7. 通过pxe远程安装linux,通过PXE远程安装Linux系统
  8. 一些避免竞争条件的实例
  9. Linux Cgroups详解(一)
  10. 用glew,glfw实现opengl-学习笔记3着色器