SoapUI 5.0创建cookie

时间:2014-11-26 09:52:03

标签: rest soapui

我正在尝试运行REST项目,并已将securitytoken和session插入到我的标头中。 但我得到一个错误消息,告诉我缺少一个cookie(因为我的服务需要一个cookie才能成功运行)。

我试图用Groovy做到这一点:

import com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport
def myCookieStore = HttpClientSupport.getHttpClient().getCookieStore()

import org.apache.http.impl.cookie.BasicClientCookie
def myNewCookie = new BasicClientCookie("mycookiename", "mycookievalue")
myNewCookie.version = 1
myNewCookie.domain = "my domain as IP"
myCookieStore.addCookie(myNewCookie)

但它仍然给我带来同样的错误消息。 有没有解决方案在SoapUI 5.0中注入一个cookie作为标题?

1 个答案:

答案 0 :(得分:1)

我想将此添加为评论,但我还没有50个声誉。

不知道你是否仍在为此工作,但无论如何:

就像Rao说的那样,你似乎想要在一个带有协商令牌的会话中工作。您可以在soapui中使用三种方法。

  1. 像你建议的那样:从头开始创建cookie和值。当你想测试哪些值将通过以及哪些值或其组合将返回错误或不同类型的消息时,这将是一个很好的用例。

  2. 如果您想测试其他任何内容,那么您可以加载证书,转到身份验证链接,并从Rao建议的Set-Cookies中的标题中检索您的令牌和会话ID。 / p>

  3. 第三个选项是我个人最喜欢的测试其他东西而不是标题,是信任SoapUI来处理它。您可以通过设置测试用例来记住您的会话。您可以在测试用例设置菜单中设置此设置。它被称为“维持http会话”。

  4. 备注:在soapui中,您可以模块化测试。例如,您可以在“util”测试套件中为身份验证创建一个测试用例。这是因为您可以禁用util测试套件以防止它作为自重测试运行。然后,您可以在任何地方调用此测试用例来调用身份验证过程。为此,你必须设置'Run Testcase'的设置(它被命名为somehting),以'将http会话传送到此测试用例',并像以前一样,将父测试用例设置为'维护HTTP会话”。有关模块化的更多信息:https://www.soapui.org/functional-testing/modularizing-your-tests.html

    对于安全证书导入,请检查此智能小熊示例:https://www.soapui.org/resources/blog/ws-security-settings.html