我正在评估Canoo Webtest作为Grails插件的自动化集成/功能测试。
我有一个REST应用程序,我正在尝试测试,但是Canoo Webtest 似乎没有在POST request中正确地发送JSON数据。我的测试代码如下所示
invoke( description:"Add a product to shopping cart",
url:'shoppingCart/add', method:'POST',
content:'{"class":"shop.service.Product", "name":"A product", "description":"Manufactured by X", "price":99.9}'
//contentFile: '../product.json'
)无论我是使用方法还是内联数据作为内容属性,请求体都是空的。测试报告显示数据已正确发送,但错误页显示了一个错误,该错误声明“JSONException:缺失值。在字符0”。JSON数据作为GET请求的响应正在恢复正常。
我已经用curl测试了同样的功能,它运行得非常好。在Canoo Webtest设置中,有什么东西我遗漏了吗?
谢谢。
编辑:我正在使用Grails1.3.7,以防有任何不同
发布于 2012-11-12 22:07:05
好的。我刚开始对invoke()进行实验,似乎将属性soapAction值设置为true就可以了。
我不知道这是怎么回事。属性的调用文件()表示
soapAction
Required? no
If the HTTP method is POST and is in fact a SOAP POST request,
this allows the SOAP Action header to be set. Ignored for GETs.显然,它设置了一些所需的请求头。还没查过哪一个。
(谢谢各位阅读:)
还不能将这个答案标记为正确的答案,但在可能的情况下会这样做。
https://stackoverflow.com/questions/13335876
复制相似问题