1、先完成jmeter脚本编写,具体怎么写此处不再详述,可以参考其他文档、

2、有时你会发现jmeter脚本执行后,有些响应信息你需要提取到文件中,以便后续使用;

怎么实现呢?个人思路就是,先写个java类,这个类的功能就是参数保存到指定文件;

然后进行java请求,保存该文件

具体步骤:

2.1   idea打开创建一个java项目,添加依赖的jmeter jar包

2.2 创建 OutputService 和PerformenceTest两个类

 import java.io.File;
import java.io.PrintWriter; /**
* Created by Administrator on 2017/8/28.
*/
public class OutputService {
public static void output(String filename,String csName,String csPwd,String ghsName,String ghsPwd,String ywyName,String ywyPwd) throws Exception{
PrintWriter out=new PrintWriter(new File(filename));
out.write("所有平台注册账号:"+"\r\n");
out.write("超市注册账号:"+"\r\n"+csName+" "+csPwd+"\r\n"+"供货商注册账号:"+"\r\n"+ghsName+" "+ghsPwd+"\r\n"+"业务员注册账号:"+"\r\n"+ywyName+" "+ywyPwd+"\r\n");
out.close(); } }

OutputService

 package com.test;

 import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult; /**
* Created by Administrator on 2017/8/28.
*/
public class PerformenceTest implements JavaSamplerClient {
private SampleResult results;
//private String orderNumber;
private String csName;
private String csPwd;
private String ghsName;
private String ghsPwd;
private String ywyName;
private String ywyPwd;
private String filename; public static void main(String[] args) {
// TODO Auto-generated method stub
Arguments params = new Arguments();
params.addArgument("filename","0");
// params.addArgument("orderNumber", "0");//设置参数,并赋予默认值0
params.addArgument("csName", "0");//设置参数,并赋予默认值0
params.addArgument("csPwd", "0");
params.addArgument("ghsName","0");
params.addArgument("ghsPwd", "0");
params.addArgument("ywyName","0");
params.addArgument("ywyPwd", "0"); JavaSamplerContext arg0 = new JavaSamplerContext(params);
PerformenceTest test = new PerformenceTest();
test.setupTest(arg0);
test.runTest(arg0);
test.teardownTest(arg0);
}
// 设置传入的参数,可以设置多个,已设置的参数会显示到Jmeter的参数列表中
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("filename", "0");//设置参数,并赋予默认值0
//params.addArgument("orderNumber", "0");//设置参数,并赋予默认值0
params.addArgument("csName", "0");//设置参数,并赋予默认值0
params.addArgument("csPwd","0");
params.addArgument("ghsName", "0");//设置参数,并赋予默认值0
params.addArgument("ghsPwd","0");
params.addArgument("ywyName", "0");//设置参数,并赋予默认值0
params.addArgument("ywyPwd","0");
return params;
} // 初始化方法,实际运行时每个线程仅执行一次,在测试方法运行前执行
public void setupTest(JavaSamplerContext arg0) {
results = new SampleResult();
} // 测试执行的循环体,根据线程数和循环次数的不同可执行多次
@Override
public SampleResult runTest(JavaSamplerContext arg0) {
// orderNumber = arg0.getParameter("orderNumber"); // 获取在Jmeter中设置的参数值
csName = arg0.getParameter("csName"); // 获取在Jmeter中设置的参数值
csPwd = arg0.getParameter("csPwd");
ghsName = arg0.getParameter("ghsName"); // 获取在Jmeter中设置的参数值
ghsPwd= arg0.getParameter("ghsPwd");
ywyName=arg0.getParameter("ywyName");
ywyPwd=arg0.getParameter("ywyPwd");
filename = arg0.getParameter("filename"); // 获取在Jmeter中设置的参数值
results.sampleStart();// jmeter 开始统计响应时间标记
try {
OutputService test = new OutputService();
test.output(filename,csName,csPwd,ghsName,ghsPwd,ywyName,ywyPwd);
results.setSuccessful(true);
// 被测对象调用
} catch (Throwable e) {
results.setSuccessful(false);
e.printStackTrace();
} finally {
results.sampleEnd();// jmeter 结束统计响应时间标记
}
return results;
} // 结束方法,实际运行时每个线程仅执行一次,在测试方法运行结束后执行
public void teardownTest(JavaSamplerContext arg0) {
} }

PerformenceTest

2.3 打jar包,步骤如图所示

2.4 然后把打好的JavaSampler.jar包cp到jmeter目录\lib\ext下

3、重启jmeter,加载刚导入的jar包

4、创建java请求,选择jar包的类名称,参数会自动加载出来,且默认值均为0,然后给各个参数赋值,下图是我给参数化了,也可以写具体的值

执行该请求,参数值会保存至指定的文件

执行结果如下图所示

定时执行自动化脚本-(一)导入保存jmeter参数至文件的jar包的更多相关文章

  1. 定时执行自动化脚本-(二)ant发送邮件及邮件中添加附件

    发送邮件及邮件添加附件均需要用java来实现 1.idea创建一个maven的java项目,目录结构如下 2.pom.xml文件添加依赖的javax.mail <dependencies> ...

  2. Linux定时执行.sh脚本

    因为测试ffmpeg推流用flv方式的话没有做自动断流,所以要先用.sh脚本来执行关流,降低CPU和其他资源占用 首先编写.sh文件 #! /bin/bash echo "kill ffmp ...

  3. php定时执行PHP脚本一些方法总结

    本文章总结了php定时执行PHP脚本一些方法总结,有,linux中,windows,php本身的方法,有需要的朋友可参考参考. linux下定时执行php脚本 执行PHP脚本 方法1如果你想定时执行某 ...

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

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

  5. win7计划任务定时执行PHP脚本设置图解

    做php开发的朋友有时候会希望自己的电脑能每天定时的运行一下某个脚本,但定时执行php脚本这种概念似乎多半是在linux中才提到,下面这篇文章主要和大家分享一下在win7下如何设置计划任务,以实现定时 ...

  6. Windows 任务调度程序定时执行Python脚本

    Windows 任务调度程序(Task Scheduler)可以定时执行程序,本文分享使用Task Scheduler定时执行Python脚本的两种方法. 在控制面版->管理员工具中打开 Tas ...

  7. appium1.4+华为8.0执行自动化脚本,报启动session失败,原因是unicode_ime_apk\Uni codeIME-debug.apk在手机上已存在,再次安装失败,导致启动session失败,解决办法:换高版本的appium

    最开始做Android自动化测试时,通过执行脚本发现报,已安装UnicodeIME-debug.apk,再次安装失败,当时觉得这个apk对我来说没用,就把D:\Program Files (x86)\ ...

  8. CentOS 7定时执行python脚本

    CentOS 7定时执行python脚本 在CentOS下,可以使用crontab进行定时任务的处理. 一.crontab的安装 默认情况下,CentOS 7中已经安装有crontab,如果没有安装, ...

  9. 【转】linux 定时执行shell脚本

    在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...

随机推荐

  1. WebApp的自动测试工具: protractor和selenium

    Protractor是Selenium的扩充,支持Angularjs element(by.css('my-css')).click(); 一.用by的各种Locator定位元素 选中1个元素: el ...

  2. 网络通信协议tcp,udp区别

    1 网络通信协议 Tcp udp的区别 重点(*****) Tcp三次握手四次挥手(******) udp客户端多人聊天 import socket udp_client = socket.socke ...

  3. MySQL 设置cmd命令行登陆

    1.MySQL自带工具的存放路径: D:\Program Files\MySQL\MySQL Server 5.6\bin 为了方便使用,我们可以将以上路径添加到系统的环境变量path中 如果你不放, ...

  4. AND 初识

    框架

  5. SQL Server 2000 字段类型 Delphi 数据类型对照

  6. python杂记二

    1. 写文件可以直接使用print函数 file_name = open("file_name.txt","w") print("file conta ...

  7. MFC 中MessageBox 显示在所有窗口的最上面

    int MessageBox(   HWND hWnd,          // handle of owner window   LPCTSTR lpText,     // address of  ...

  8. Java学习笔记 -- Java定时调度工具Timer类

    1 关于 (时间宝贵的小姐姐请跳过) 本教程是基于Java定时任务调度工具详解之Timer篇的学习笔记. 什么是定时任务调度 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务. 在Ja ...

  9. Java实现微信客户端扫码登录

    此篇文章记录自己开发中的微信客户端扫码登录的实例以及步骤,便于以后自行学习记起的关键,看到的网友有借鉴的地方就借鉴,看不懂的也请别吐槽,毕竟每个人的思维和思路以及记录东西的方式不一样: 1.首先需要一 ...

  10. Spring再接触 Annotation part2

    resource resource beans.xml <?xml version="1.0" encoding="UTF-8"?> <bea ...