定时执行自动化脚本-(一)导入保存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 ...
随机推荐
- Spark下的FP-Growth和Apriori
基本概念 关联分析是一种在大规模数据集中寻找有趣关系的非监督学习算法.这些关系可以有两种形式:频繁项集或者关联规则.频繁项集(frequent item sets)是经常出现在一块的物品的集合,关联规 ...
- 关于getClass()的一些自己的见解
通过观看视频讲解,我得知,Class 老师讲解的是 这个是类的类,即是管理类的类.当时不是很理解,随后查询了相关资料后,以及真切的运行了几行代码后,才有一些深层次的体会, 在这里想要跟大家分享一下.如 ...
- 接口与继承:方法覆盖(super)
源代码 //父类Parent class Parent{ int x; int y; Parent() { x = ; y = ; } public void Set(int a,int b) { x ...
- RobotFramework + Appium 移动自动化实现
本次我们移动自动化实现路线大致是这样的: Python语言基础 —> Robot Framework测试框架 —> Android SDK和Genymotion模拟器 —> ...
- rsync:基本命令和用法
以下是rsync系列篇: 1.rsync(一):基本命令和用法 2.rsync(二):inotify+rsync详细说明和sersync 3.rsync算法原理和工作流程分析 4.rsync技术报告( ...
- matlab-调用摄像头人脸识别
----------------------------边学边写边学习------------------------------------- 版本:2014a 调用摄像头 a = imaqhwin ...
- H5使用codovar插件实现支付宝支付(支付宝APP支付模式,前端)
H5打包的app实现支付及支付宝支付,本章主要详解支付宝支付,微信支付请查看另一篇“H5使用codovar插件实现微信支付(微信APP支付模式,前端)” ps:本文只试用H5开发的,支付宝 APP支付 ...
- java序列化和反序列化中的serialVersionUID有啥用
1.什么是序列化和反序列化 序列化就是将java对象转成字节序列的过程:反序列化就是将字节序列转成java对象的过程. java中,序列化的目的一种是需要将对象保存到硬盘上,一种是对象需要在网络中传 ...
- Spring-内置Resouce
Spring 内置Resouce Resource: org.springframework.core.io.Resource; 内置方法 public interface Resource exte ...
- 996 icu我能为你做什么?
今天996,未来icu 996icu地址:https://github.com/996icu/996.ICU 前段时间github上出现了,一个讨论996的项目,这个项目使中国的软件工程师达到了空前的 ...