gpt4 book ai didi

karate - Karate 可以生成多个同名的查询参数吗?

转载 作者:行者123 更新时间:2023-12-02 03:27:27 67 4
gpt4 key购买 nike

我需要在 URL 中传递多个同名的查询参数,但在让它与 Karate 一起使用时遇到问题。就我而言,URL 应如下所示:

http://mytestapi.com/v1/orders?sort=order.orderNumber&sort=order.customer.name,DESC

注意 2 个名为“sort”的查询参数。我尝试使用 Karate 创建这些查询字符串参数,但在查询字符串中仅创建最后一个“排序”参数。以下是我尝试执行此操作的方法:

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

还有:

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

还有:

    Given path 'v1/order?sort=order.orderNumber&sort=order.customer.name,DESC'
And header Authorization = authInfo.token
And method get
Then status 200

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

最后一个示例不起作用,因为 ?得到编码,这是预期的,并在这篇文章中进行了解释 - Karate API Tests - Escaping '?' in the url in a feature file

很明显,第二个“排序”参数会覆盖第一个参数,并且只有一个参数被添加到 URL 中。我已经浏览了 Karate 文档,这非常好,但我还没有找到添加多个同名参数的方法。

那么,Karate中有没有办法设置多个同名的URL查询参数呢?

最佳答案

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

相似键的所有值都应在数组中提供。

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"]

关于karate - Karate 可以生成多个同名的查询参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52836579/

67 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com