我在同一TestCase中有两个REST请求。
我当前正在使用ReadyAPI 2.6.0。
我需要登录第一个请求才能访问第二个请求。
否则它将不起作用。
您知道如何在这两个请求之间保持相同的会话吗?
答案 0 :(得分:0)
我猜想您需要使用的密钥是在HTTP标头中设置的。
鉴于是真的,并且您还需要在以下请求中的HTTP标头中设置此特定值,您可以像这样解决它:
在您的第一个REST请求中,添加带有以下代码的脚本断言:
def value = context.getProperty("request-id")
return value
您需要用正确的HTTP标头具有的任何名称替换第一行中的“ session-id”。 您不应在最后一行更改“ sessionID”。这是我们自己使用的单独的变量名。 这将断言已经设置了一个值,然后将其保存为上下文变量,我们可以在以后的步骤中重复使用。
在您的第一个REST Request测试步骤之后添加Groovy脚本测试步骤。将其重命名为“提取上下文变量”(该名称将在下一步中重用) 然后在其中添加以下代码:
${Extract Context Variable#result}
上下文值在任何地方都不可用。通过在此处提取它并返回值,在其余的REST Request测试步骤中将更容易使用它。
打开您的第二个REST请求测试步骤(如果还有更多,则打开第三,第四等等) 打开底部的“标题”窗格 创建一个新密钥,其名称与您在第一个REST请求中收到的标头相同 在值中,输入
sql = """\
SET NOCOUNT ON;
DECLARE @rv int;
EXEC @rv = dbo.TESTVALUE;
SELECT @rv;
"""
crsr.execute(sql)
return_value = crsr.fetchone()[0]
print(return_value) # -631
在运行整个测试用例时,您现在应该自动检索第一个响应中返回的标头,然后在以下请求中转移并重用它。