定时执行自动化脚本-(一)导入保存jmeter参数至文件的jar包
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包的更多相关文章
- 定时执行自动化脚本-(二)ant发送邮件及邮件中添加附件
发送邮件及邮件添加附件均需要用java来实现 1.idea创建一个maven的java项目,目录结构如下 2.pom.xml文件添加依赖的javax.mail <dependencies> ...
- Linux定时执行.sh脚本
因为测试ffmpeg推流用flv方式的话没有做自动断流,所以要先用.sh脚本来执行关流,降低CPU和其他资源占用 首先编写.sh文件 #! /bin/bash echo "kill ffmp ...
- php定时执行PHP脚本一些方法总结
本文章总结了php定时执行PHP脚本一些方法总结,有,linux中,windows,php本身的方法,有需要的朋友可参考参考. linux下定时执行php脚本 执行PHP脚本 方法1如果你想定时执行某 ...
- 使用sae定时执行Python脚本
使用sae定时执行Python脚本 使用sae定时执行Python脚本 12,May,2014 | 57 Views 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周 ...
- win7计划任务定时执行PHP脚本设置图解
做php开发的朋友有时候会希望自己的电脑能每天定时的运行一下某个脚本,但定时执行php脚本这种概念似乎多半是在linux中才提到,下面这篇文章主要和大家分享一下在win7下如何设置计划任务,以实现定时 ...
- Windows 任务调度程序定时执行Python脚本
Windows 任务调度程序(Task Scheduler)可以定时执行程序,本文分享使用Task Scheduler定时执行Python脚本的两种方法. 在控制面版->管理员工具中打开 Tas ...
- appium1.4+华为8.0执行自动化脚本,报启动session失败,原因是unicode_ime_apk\Uni codeIME-debug.apk在手机上已存在,再次安装失败,导致启动session失败,解决办法:换高版本的appium
最开始做Android自动化测试时,通过执行脚本发现报,已安装UnicodeIME-debug.apk,再次安装失败,当时觉得这个apk对我来说没用,就把D:\Program Files (x86)\ ...
- CentOS 7定时执行python脚本
CentOS 7定时执行python脚本 在CentOS下,可以使用crontab进行定时任务的处理. 一.crontab的安装 默认情况下,CentOS 7中已经安装有crontab,如果没有安装, ...
- 【转】linux 定时执行shell脚本
在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...
随机推荐
- 在Windows2008下安装SQL Server 2005无法启动服务的解决办法
在Windows2012下安装SQL Server 2005无法启动服务的解决办法 1.正常安装任一版本的SQL Server 2005. 2.安装到SqlServer服务的时候提示启动服务失败 此 ...
- 用kickstart创建逻辑卷管理LVM分区
创建两个物理分区分别给Boot和Swap分区,剩余的空间作LVM. Partition Size Name------------------------------/boot ...
- jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等
简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...
- 2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析
2018-2019-2 20165205<网络对抗技术>Exp4 恶意代码分析 实验要求 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中 ...
- tail -f 命令暂停方法
Linux 下查看日志时,使用 tail -f 可以不断的刷新日志信息. 例如: tail -f logs.log 此时要想暂停刷新,使用ctrl+s暂停终端.若想继续终端,使用ctrl+q. 若想退 ...
- PyCharm 服务器激活地址
http://www.cnblogs.com/littlehb/p/7784517.html
- ---- 关于Android蓝牙搜索到设备的图标显示和设备过滤
根据: https://www.douban.com/note/637446089/http://bbs.16rd.com/blog-23795-3446.html 以下摘自原文: (Android主 ...
- mongodb 多表查询
今天有一个业务涉及到mongodb的多表查询,大体记录下语句结构 db.table_a.aggregate([ {$lookup:{from:"table_b",localFiel ...
- 排序大集合java
今日面试被问到排序问题,发现自己的不足,特来查漏补缺: 首先是各大排序算法的总结表 排序算法大合集 排序算法 平均时间复杂度 最好情况 最坏情况 空间复杂度 稳定性 冒泡排序 Ο(n2) Ο(n) ...
- c# linq 汇总
例子:List<string> list = new List<string>(); list.Add("1 a");list.Add("2 b& ...