我使用soapui(5.2.1)进行webservice测试,无法击中剩下的api-Get请求,然后是 post request(authentication)。Soapui - 如何保持会议从登录帖子请求获取请求
下面是我有
1登录(Post请求)的scritps - 登录
2 setCookie方法 - Groovyscript
3.GetBasic(Get请求) - 要获得JSON输出数据
4.RunAll(运行所有测试步骤(发布请求,SetCookie,获取请求)) - Groovyscript
第一个请求工作正常,试图命中获取请求但抛出“这需要http认证”。 我搜索了几个博客,并编写了setcookie groovy脚本,下面是代码。
def header = testRunner.testCase.getTestStepByName("Login").httpRequest.response.responseHeaders["Set-Cookie"]
header=header.toString()
start=header.indexOf("JSESSIONID=")
end=header.indexOf("; Path=")
testCaseProperty= header.substring(start,end)
testRunner.testCase.testSuite.setPropertyValue("JSESSIONID", testCaseProperty)
testRunner.testCase.testSuite.project.setPropertyValue("JSESSIONID", testCaseProperty)
log.info "jsession id - "+testCaseProperty
后,在GetBasic测试步骤我设置页眉$ {##TestSuite的JSESSIONID}。然后在RunAll 脚本我刚才提到的step1,2,3运行。
1.登陆成功地执行(用户名,指定的密码) 2.设置的cookie成功地执行 3.GetSystemdata(获取请求)失败(抛出“这需要HTTP认证”)
但是手动当我选择测试案例(检查维护会话)并执行(Step1,2,3)它工作正常
请查找附件,以供参考。
注(setCookie方法脚本设置Cookie,但它不使用GetBasic get请求)
这听起来像是您需要在GET请求上使用HTTPS和/或您需要在请求的标头中设置一些凭据。 –
感谢蒂姆的回复,但得到请求只显示http不https.Still我应该改变 – user3350712
在这里使用你的直觉。你从登录中得到了什么?有没有任何形式的凭证?如果是这样,您可能需要将它们包含在随后的请求中。 –