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");
                //其余代码略...
          }

     

     

     

     

     

  • 相关阅读:
    解决tomcat启东时一闪而过的问题
    如果数据库中的时间类型与mybatis的时间类型对应关系
    el 表达式中某一项过长时需要截取字符串长度,当悬停的时候显示全部内容
    ubuntu/linux系统中安装jdk以及eclipse(附图解详细步骤)
    Unity利用SMSSDK实现短信验证码(附代码)
    Unity利用Share SDK实现QQ、微信及微博第三方登录及定制内容分享(附代码)
    Unity编辑器扩展
    VR中射线点击按钮的实现
    Unity中几个特殊路径在各个平台的访问方式
    多态
  • 原文地址:https://www.cnblogs.com/onmyway20xx/p/4935393.html
Copyright © 2011-2022 走看看