美文网首页
Java接口测试中传参

Java接口测试中传参

作者: 时光不说话 | 来源:发表于2017-08-28 12:25 被阅读0次

由于我的Java基础不是很好,加上很少写代码,所以最近在写http接口测试的过程中,遇到了一些传参的问题,调试了很久。在此把有结论的传参类型记录一下,便于后续回顾。

一:固定类型的参数传入

传入固定的invoice类型

刚开始的时候,我把下面的【0:2】当做一个Map类型去处理的,代码如下:

    Map<String, String> invoiceType = new HashMap<>();
    invoiceType.put("0", "2");
    List<Map<String, String>> invoiceTypeList = new ArrayList<>();
    invoiceTypeList.add(invoiceType);

但是调试的时候发现仍是报400错误,才意识到【2】是一个固定的类型,传String即可,0只是一个默认的排序,可以忽略不处理的 ,所以修改了一下代码如下:

    String invoiceType = "2";
    List<String> invoiceTypeList = new ArrayList<>();
    invoiceTypeList.add(invoiceType);

然后就调试成功啦。

二:参数是多个list

参数如下:

要把各个list拆分,分别传参:

    //先定义一个Map类型的参数params
    Map<String, Object> params = new HashMap<>();

    //定义params参数下的accountDocument参数类型
    Map<String, Object> accountDocument = new HashMap<>();
    //给accountDocument传参
    accountDocument.put("accountSetId", "182");
   ...

    //定义params参数下的entryDtoList参数类型
    List<Map<String, Object>> entryDtoList = new ArrayList<>();
   //定义entryDtoList参数下的第一个参数,即参数0
    Map<String, Object> entryDto1 = new HashMap<>();

   //定义参数0下的参数:
    entryDto1.put("unit", null);
    entryDto1.put("fcurCode", null);
    Map<String, String> accountEntry1 = new HashMap<>();

    //根据每层定义的参数分别传参,一层一层嵌套即可
    entryDto1.put("accountEntry", accountEntry1);
    entryDtoList.add(entryDto1);

   //定义entryDtoList参数下的第二个参数,即参数1
    Map<String, Object> entryDto2 = new HashMap<>();
    entryDto2.put("unit", null);
    entryDto2.put("fcurCode", null);
    Map<String, String> accountEntry2 = new HashMap<>();

   //根据每层定义的参数分别传参,一层一层嵌套即可
    entryDto2.put("accountEntry", accountEntry2);
    entryDtoList.add(entryDto2);

    //最后把entryDtoList参数传回到params参数中,完成传参
    params.put("entryDtoList", entryDtoList);

表单类型的参数Form

MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("remark", "测试");

感想

在http接口中传参,有两个要点。

1.搞清楚要传入参数的类型

目前主要用到的类型是:String/Object/Map/List

Map传值:Map<String,String>、Map<String,Object>
List传值:List<String>、List<Map<String, String>>

2.分清参数的层次,逐层传参

详见【二:参数是多个list】

相关文章

  • Java接口测试中传参

    由于我的Java基础不是很好,加上很少写代码,所以最近在写http接口测试的过程中,遇到了一些传参的问题,调试了很...

  • 接口测试的准入、转出准则

    接口测试的准入准则 1、提交的接口测试对象已联调通过 2、接口文档静态测试已通过(包含接口信息、传参信息、响应信息...

  • 20170609-日报

    早上:测短信平台接口的压力测试 工具:jmeter 方法:post json串 传参bodydata 接口:/sy...

  • 持续集成下接口自动化测试实践

    目前很多持续集成项目都需要执行接口层的测试,当你了解其基本概念,理解了接口协议、如何传参、测试原理后,无需 掌握程...

  • jmeter 传参报错Illegal unquoted char

    jmeter测试接口时,报错如图 传参内容如下: 其中有个字段为:"scriptText": "import js...

  • 使用Java自动生成接口测试用例

    一、需求 接口测试用例中部分测试用例主要是对接口的入参、出参进行测试,入参出参主要和数据类型有关,此部分测试用例可...

  • 性能测试计划书

    测试方案: 接口测试 对每个接口进行单元测试,入参可以用假数据模拟,对出参进行断言判断。 功能测试/逻辑测试 主要...

  • 数据驱动---ddt

    一、背景 一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合,所以在测试一个接口时,...

  • 数据驱动---ddt

    一、背景 一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合,所以在测试一个接口时,...

  • Mybatis mapper文件中传递多个参数的4种方式

    方法1:顺序传参法 方法2:@Param注解传参法 方法3:Map传参法 方法4:Java Bean传参法

网友评论

      本文标题:Java接口测试中传参

      本文链接:https://www.haomeiwen.com/subject/zcmwdxtx.html