如何保持ReadyAPI两个静止的请求之间的相同会话?

问题描述 投票:0回答:1

我在同一个TestCase的两个静止的请求。

  • 登录请求
  • getAllParameters要求

我目前使用的ReadyAPI 2.6.0。

我需要登录的第一个请求,以获得第二个。

否则,这是行不通的。

你知道如何让这两个请求之间的相同会话?

rest web-services soapui ready-api
1个回答
0
投票

我猜,你需要使用密钥在HTTP头设置。

鉴于这是真的,那你还需要设置在HTTP标头这一特定值以下的要求,你可以解决它是这样的:

  • 在你的第一个REST请求,您添加脚本断言用下面的代码: def value = messageExchange.responseHeaders["session-id"]; assert value != null assert value.size() == 1 context.setProperty("sessionID", value)

您将需要替换“会话ID”,在第一行以任何名义您的正确的HTTP标头了。你不应该在最后一行改变“会话ID”。这是我们用我们自己独立的变量名。这将断言值已设定,然后将其保存为一个上下文变量,我们可以在后面的步骤重复使用。

  • 你的第一个REST请求一步步测试后添加一个Groovy脚本一步步测试。重命名为“提取上下文变量”(该名称将在下一步中重复使用),然后在其中添加以下代码: def value = context.getProperty("request-id") return value

上下文值不能从任何地方。通过这里提取它,并返回值时,它会更容易使用它在你的REST请求teststeps的其余部分。

  • 打开你的第二个REST请求一步步测试(和第三和第四等,如果你有更多)打开底部的头窗格创建名为相同,您在您的第一个REST收到的请求中的值头新的密钥,你进入 ${Extract Context Variable#result}

当运行整个测试用例,你现在应该自动检索第一响应返回的头,然后在下面的请求传输和重用。

© www.soinside.com 2019 - 2024. All rights reserved.