Rest 空手道DSL框架是否能够以url编码格式传递POST请求?

Rest 空手道DSL框架是否能够以url编码格式传递POST请求?,rest,oauth-2.0,cucumber,karate,Rest,Oauth 2.0,Cucumber,Karate,我的项目中的某些API只能通过使用编码格式的OAuth 2.0访问。我可以使用POSTMAN手动提交帖子,因为它具有x-www-form-urlencoded功能来发送请求(附图片)。作为一种解决方法,我创建了一个java函数,将json主体转换为编码URI,并作为变量传递。然而,在运行它时,我得到了一个“URL的http调用失败”。我想知道空手道是否有自己的库来将json转换为编码的URI 场景:将Json转换为POST正文上的编码URI * def JavaDemo = Java.type(

我的项目中的某些API只能通过使用编码格式的OAuth 2.0访问。我可以使用POSTMAN手动提交帖子,因为它具有x-www-form-urlencoded功能来发送请求(附图片)。作为一种解决方法,我创建了一个java函数,将json主体转换为编码URI,并作为变量传递。然而,在运行它时,我得到了一个“URL的http调用失败”。我想知道空手道是否有自己的库来将json转换为编码的URI

场景:将Json转换为POST正文上的编码URI

* def JavaDemo = Java.type('com.ge.health.gam.service.servicerequest.testsuite.CustomJavaClass')
* def encodedURI = JavaDemo.jsonToURI()
* print encodedURI

Given url 'http://location.ver02.geicenter.com/uaa/oauth/token'
And request encodedURI
When method post
Then status 200

com.intuit.karate.exception.KarateException:URL的http调用在263毫秒后失败:

是。有关详细信息,请参阅文档。中还有一个OAuth2示例,查找它


另请参见:

根据Peter Thomas的建议,我发现下面的内容可以通过誓言2.0提交请求。在我的例子中,我还必须安装一个必需的证书才能收到有效的响应。你也必须考虑到这一点

Given path 'uaa', 'oauth', 'token'
And form field key = 'value'
And form field key = 'value'
And form field key = 'value'
And form field key = 'value'
When method post
Then status 200 

有一个测试版0.6.0.2可以修复其中一个SSL问题。因此,您不需要证书,只要有“*configure ssl=true”就足够了。如果你能证明这对你有用,那就太好了。