最近最项目参数化的时候用到,场景是这样的,需要测试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");
//其余代码略...
}

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

  1. jmeter经验---java 追加写入代码一例

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

  2. java追加写入txt文件

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

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

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

  4. Java操作HDFS代码样例

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

  5. JAVA追加写入文本文件

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

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

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

  7. java servlet 代码样例 (demo)

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

  8. 代码优化:Java编码技巧之高效代码50例

    出处:  Java编码技巧之高效代码50例 1.常量&变量 1.1.直接赋值常量值,禁止声明新对象 直接赋值常量值,只是创建了一个对象引用,而这个对象引用指向常量值. 反例: Long i = ...

  9. Java读取txt文件和覆盖写入txt文件和追加写入txt

    //创建文件 public static void createFile(File filename) { try { if(!filename.exists()) { filename.create ...

随机推荐

  1. shiro错误No SecurityManager accessible to the calling code

    Shire在Web.xml中shiroFilter的Mapping配置错误 org.apache.shiro.UnavailableSecurityManagerException: No Secur ...

  2. iOS人机界面指南(翻译)

    本文源自于苹果开发者网站的文章iOS Human Interface Guidelines,内容比较多,此处仅仅是部分笔记.

  3. [Apache] 2.2与2.4版本在设置虚拟域名时的小差别

    Apache服务器配置虚拟步骤: 1.在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置: #LoadModule ...

  4. JS判断鼠标从什么方向进入一个容器

    偶然将想到的一个如何判断鼠标从哪个方向进入一个容器的问题.首先想到的是给容器的四个边添加几个块,然后看鼠标进入的时候哪个块先监听到鼠标事件.不过这样麻烦太多了.google了一下找到了一个不错的解决方 ...

  5. 用JavaScript刷新框架子页面的七种方法

    下面以三个页面分别命名为framedemo.html,top.html,button.html为例来具体说明如何做. 其中framedemo.html由上下两个页面组成,代码如下: < !DOC ...

  6. C# 链接Sql和Access数据库语句

    1.sql数据库: 1.1.链接数据语句:server=localhost;database=Data; uid=sa;pwd=123; 或 Data Source=localhost;DataBas ...

  7. Sql Server 常用自定义函数

    -- select * from [dbo].[SplitToTable]('ADSF','|') -- 分解字符串 ALTER FUNCTION [dbo].[SplitToTable] ( @Sp ...

  8. java 产生随机数的方法

    有三种方法: Math.random():这个方法返回一个[0.0, 1.0)的一个随机double型数.它实际是调用Random类的nextDouble()方法.只不过Math类使用的是一个静态随机 ...

  9. VB 思维导图总结(三)

    续上篇.vb总结之“思维导图”(2) 第十章.绘制图形 第十一章.数据库技术... 第十二章.总结! 相信有了vb的一个基础,应对接下来的学习会顺畅些.加油!

  10. cocos2dx中的背景图层CCLayerColor和渐变图层CCLayerGradient

    1.CCLayerColor是专门用来处理背景颜色的图层,它继承自CCLayer,可以用来设置图层的背景颜色,因为CCLayer默认是透明色的,即无颜色的 2.CCLayerGradient是用来显示 ...