为什么需要Parameters

通常,一个API会有好几个可变的参数存在于Url, Header或body里,为了让测试覆盖到所有case,往往需要创建出很多Request,这给维护带来了很大的麻烦。

Parameters就是为解决这个问题而出现的,看个例子:

在API中有3个变量,每个变量都有3个不同的值,这时你需要创建3*3*3=27个Requests来覆盖所有情况,这很麻烦。

其实这些请求大体上是相同的,所以使用Parameters就可以用一个请求来表达出所有这些情况,只需要把可变的部分提取出来,放到Parameters里面,Hitchhiker会自动帮你生成你想要的这些Request。

Parameters的组合方式

Parameters 有两种参数组合方式:Many to Many and One to One

举个例子,现在有两个参数 A and B: A 有2个值: 1 and 2. B 也有2个值:3 and 4.

Many to Many就会产生4个Request: 13, 14, 23, 24:

One to One的话就只有2个:13, 24:

Parameters 本质上是一个JSON格式的对象,你需要以下面这种格式来定义它:

{
    "A": [1, 2],
    "B": [3, 4]
}

使用Parameters

继续前面的例子,修改Request Sample Request 来使用Parameters.

  1. 转到Collection模块,选择 Sample Request,选择Request的Body tab,现在的Body是 { "Desc": "It's a sample" }.

  2. 把Body改为 { "Desc": "" }.

  1. 选择Request的Parameters tab。

  2. 输入Parameters: { "param": [ "Test A", "Test B" ] }

  3. 单击Save保存。

可以看到Hitchhiker根据这2个参数自动帮你生成了2个请求。

单击Send按钮可以同时请求这些Request,也可以选择其中一个来请求。

使用Pairwise算法

Pairwise算法可以在做到不太降低覆盖率的情况(大概覆盖70%-80%)下大量减少case,因为在Many to Many时,如果参数过多,生成的case数量很大,写assert就很不容易,而Pairwise算法可以解决这块。

results matching ""

    No results matching ""