最近最项目参数化的时候用到,场景是这样的,需要测试A和B两个接口,其中B接口传入的参数必须是传递给A接口过的,所以整理一个思路就是:

1. 正常调用A接口,但是将传递给A接口的参数保存到文本里,此处要注意避免写入操作影响测试、成为瓶颈;

2. 调用B接口时,参数从上一步的文本里读取数据

收藏一下备忘:

1. 用于将A接口传入的参数保存下来的代码

      // 保存pin和UUID,每个线程一份
      StringBuffer uuidStr = new StringBuffer();
//在测试结束的时候 写入文件
public void teardownTest(JavaSamplerContext context) {
            write2Txt("/export/uuid.txt", uuidStr.toString());
      }       public SampleResult runTest(JavaSamplerContext arg0) {
            // TODO Auto-generated method stub
           SampleResult result = new SampleResult();
            boolean isSuccessful = false;
        
            try {
                 //************************* 构造参数开始******************************************
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//************************* 构造参数结束******************************************
                  result.sampleStart();
         
                  // 调用业务方法
                  object = a.xxxxxxxx(args);
                  if (object.isSuccess()) {
                        isSuccessful = true;                  
                  } else {
                        isSuccessful = false;                      
                  }
                  // 释放资源
                xxxxxxxxxxxxxx 
            } catch (Exception e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
                  logger.info(e.getMessage());
                  
            } finally {
                  result.sampleEnd();
                  result.setSuccessful(isSuccessful);
                  uuidStr.append(pinBuffer).append(",").append(Uuid);
            }
            return result;
      } /*
* file 文件名 content 文件内容
*/
public void write2Txt(String file, String conent) {
BufferedWriter out = null;
try {
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true)));
out.write(conent + "\r\n");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

2. B接口 使用CSV Data set config 读取数据

相关代码:

      public Arguments getDefaultParameters() {
Arguments args = new Arguments();
args.addArgument("pin", "111");
args.addArgument("uuid", "aaa"); return args;
} public SampleResult runTest(JavaSamplerContext arg0) {
// 获取从文本读取的参数值
String pin = arg0.getParameter("pin");
String uuid = arg0.getParameter("uuid");
//其余代码略...
}

jmeter经验---java 追加写入代码一例的更多相关文章

  1. java 追加写入代码一例

    最近最项目参数化的时候用到,场景是这样的,需要测试A和B两个接口,其中B接口传入的参数必须是传递给A接口过的,所以整理一个思路就是: 1. 正常调用A接口,但是将传递给A接口的参数保存到文本里,此处要 ...

  2. jmeter经验----java 读取文件中文乱码问题

    很少写java io的代码,今天整了一个发现 本地调试好好的,放到jmeter里就打印乱码.一番折腾,终于搞定~直接上代码: List<Order> orderList = new Arr ...

  3. java追加写入txt文件

    整理了下网上的资料,数据追加写入txt文件有三种方式,见下面代码: 方法一: public void method1() { FileWriter fw = null; try { //如果文件存在, ...

  4. JAVA各种OOM代码样例及解决方法

    周末了,觉得我还有很多作业没有写,针对目前大家对OOM的类型不太熟悉,那么我们来总结一下各种OOM出现的情况以及解决方法. 我们把各种OOM的情况列出来,然后逐一进行代码编写复现和提供解决方法. 1. ...

  5. Java操作HDFS代码样例

    代码在GitHub上. 包括如下几种样例代码: 新建文件夹 删除文件/文件夹 重命名文件/文件夹 查看指定路径下的所有文件 新建文件 读文件 写文件 下载文件至本地 上传本地文件 https://gi ...

  6. JAVA追加写入文本文件

    public void method1() { FileWriter fw = null; try { //如果文件存在,则追加内容:如果文件不存在,则创建文件 File f=new File(&qu ...

  7. Java基础知识强化之IO流笔记20:FileOutputStream写出数据实现换行和追加写入

    1.  如何实现数据的换行? (1) package com.himi.fileoutputstream; import java.io.FileNotFoundException; import j ...

  8. java servlet 代码样例 (demo)

    今天又搞了下jsp +servlet 的代码样例,感觉虽然搭了好多次,可是每次还是不记得那些参数,都要去网上搜索,索性自己把这次的简单demo给记录下来,供下次使用的时候直接复制吧. 这个web逻辑 ...

  9. jmeter 测试java协议经验总结

    对java协议的良好支持,是jmeter比loadrunner优秀的地方,但是坑也不少,本文将相关点都整理下来备忘 一. 依赖的jar包 使用IDE开发jemter java协议脚本时,需要导入以下几 ...

随机推荐

  1. mysql代理之Atlas

    Atlas是由 Qihoo 360,  Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy0.8.2版本号的基础上.改动了大量bu ...

  2. Selenium上传文件

    selenium自带了对应的API可以上传问题,如果这个上传文件的html code中显示的type是file那么你就可以使用下面的代码上传文件. /** * click the upload but ...

  3. CTRL+SHIFT

    CTRL+SHIFT+鼠标左右,上下拖动,可快速实现平行和垂直上下复制的功能,

  4. Linux下Shell元字符的释义

    Linux下shell的巧妙应用,对系统的运维很有四两拨千斤的功效! Shell元字符 注意: () 在当前shell的子shell进程运行命令 {}在当前shell进程运行命令

  5. Oracle下载汇聚

    官方下载oracl软件需要,注册oracle账户.方可下载.... Oracle11.2.0.4 Oracle11.2.0.4 for linux  1-7 http://pan.baidu.com/ ...

  6. Oracle Tuxedo工作站客户端与服务端的样例程序

    服务端代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <cty ...

  7. startActivityForResult的使用和用法

    startActivityForResult的使用和用法 startActivityForResult 和 onActivityResult在activity间传递数据 AndroidManifest ...

  8. 【mysql】使用xtrabackup在线增量备份及恢复数据库

    一.Percona Xtrabackup 简介 1.Xtrabackup  bin目录文件 介绍 1)innobackupex innobackupex 是xtrabackup的一个符号链接 . in ...

  9. (原)ubuntnu中anaconda的g++提示crtbeginS.o:unrecognized relocation

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6950263.html 自从使用anaconda后,方便是方便了,也遇到了很多蛋疼的问题. 这次使用an ...

  10. 安装好php后找不到php.ini

    很多同学在安装完php后找不到php.ini而烦恼. 通常php.ini的位置在: /etc目录下或/usr/local/lib目录下. 如果你还是找不到php.ini或者找到了php.ini修改后不 ...