Karate 空手道可以生成多个同名的查询参数吗?

Karate 空手道可以生成多个同名的查询参数吗?,karate,Karate,我需要在一个URL中传递多个同名的查询参数,但在使用空手道时遇到问题。在我的例子中,URL应该如下所示: 注意2个名为“sort”的查询参数。我试图用Karate创建这些查询字符串参数,但在查询字符串中只创建了最后一个“sort”参数。以下是我尝试的方法: Given path 'v1/orders' And param sort = 'order.orderNumber' And param sort = 'order.customer.name,DESC' And

我需要在一个URL中传递多个同名的查询参数,但在使用空手道时遇到问题。在我的例子中,URL应该如下所示:

注意2个名为“sort”的查询参数。我试图用Karate创建这些查询字符串参数,但在查询字符串中只创建了最后一个“sort”参数。以下是我尝试的方法:

Given path 'v1/orders'
    And param sort = 'order.orderNumber'
    And param sort = 'order.customer.name,DESC'
    And header Authorization = authInfo.token
    And method get
    Then status 200
以及:

以及:

前两种方法提供相同的查询字符串结果:
?sort=order.customer.name%2CDESC

最后一个示例不起作用,因为?得到编码,这是预期和解释在这篇文章-

很明显,第二个“sort”参数覆盖了第一个参数,并且只向URL添加了一个参数。我已经阅读了空手道文档,这是非常好的,但我没有找到一种方法来添加多个同名参数


那么,在空手道中有没有一种方法可以设置多个同名的URL查询参数?

是的,您可以在空手道中生成多个同名的查询参数

应在数组中提供类似键的所有值

Given path 'v1/orders'
And params {"sort":["order.orderNumber","order.customer.name,DESC"]}
And header Authorization = authInfo.token
And method get
Then status 200
对于使用
param
设置单个参数,如下所示

And param sort = ["order.orderNumber","order.customer.name,DESC"]
Given path 'v1/orders'
And params {"sort":["order.orderNumber","order.customer.name,DESC"]}
And header Authorization = authInfo.token
And method get
Then status 200
And param sort = ["order.orderNumber","order.customer.name,DESC"]