zoukankan      html  css  js  c++  java
  • jmeter经验---java 追加写入代码一例

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

     

     

     

     

     

  • 相关阅读:
    ASP.NET MVC 重点教程一周年版 第二回 UrlRouting
    ASP.NET MVC 重点教程一周年版 第三回 Controller与View
    DynamicData for Asp.net Mvc留言本实例 下篇 更新
    Asp.net MVC视频教程 18 单选与复选框
    使用ASP.NET MVC Futures 中的异步Action
    ASP.NET MVC RC 升级要注意的几点
    ATL、MFC、WTL CString 的今生前世
    msvcprt.lib(MSVCP90.dll) : error LNK2005:已经在libcpmtd.lib(xmutex.obj) 中定义
    关于Windows内存的一些参考文章
    Windows访问令牌相关使用方法
  • 原文地址:https://www.cnblogs.com/onmyway20xx/p/4935393.html
Copyright © 2011-2022 走看看