在设置grinder脚本期间进行REST POST

时间:2013-06-21 21:34:19

标签: rest jython grinder

有没有办法在设置磨床测试时将一段json数据发布到url?我曾尝试使用http插件,但它会引发以下错误:

net.grinder.engine.common.EngineException:必须从工作线程

调用

我一直试图弄清楚如何用urllib2做到这一点但是urllib2似乎没有办法发布数据,如json,只是带有参数的url。我通常在python中使用的其他库似乎在jython中不可用。

谢谢!

1 个答案:

答案 0 :(得分:2)

这是执行此操作的基本方法。为了做到这一点,我刚刚经历了谷歌搜索。它有效。

标题需要使用NVPair进行设置,您需要告诉它 它正在接收它,期望有效载荷中的json对象 最后一个挂逗号是必需的。您可以添加更多标题,逗号分隔 NVPair对象,只记得包含尾随逗号。

payload = your json string (either load it from a file or create it programatically)
headers = ( NVPair("Content-type", "application/json"), ) 
requestString = "http://urlToPostTo"
request = HTTPRequest()
result = request.POST(requestString, payload, headers)

以下是相关的API文档: http://grinder.sourceforge.net/g3/script-javadoc/net/grinder/plugin/http/HTTPRequest.html