gpt4 book ai didi

testing - SoapUI 测试 : remove quotation marks from session ID

转载 作者:行者123 更新时间:2023-11-28 20:38:33 29 4
gpt4 key购买 nike

所以,我是 SoapUI 的新手,并且通常使用 API,但我正在尝试在 SoapUI(免费软件版本)中为 REST API 设置自动测试。

我进行的第一个调用返回一个 JSON 格式的 session ID,它被放在引号之间,例如:“ session ID 在这里”。在下一个 API 调用中需要此 key ,不带引号。我使用 SOAPUI 的“Property Transfer Teststep”,它运行良好,除了 session ID 周围的引号外,导致后续调用的错误响应。

知道如何删除引号吗?我一直在阅读/谷歌搜索 Xpath 和 JSONPath,这是我可以在屏幕上使用的一些编码语言,但我看不出如何使用它来删除所说的引号。非常感谢您的帮助!!

完整的 RAW 响应:

HTTP/1.1 200 OK Cache-Control: no-cache Pragma: no-cache Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/8.5 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET Date: Tue, 02 May 2017 18:31:48 GMT Content-Length: 38 "48d45ba2-4549-41be-8b31-e85b3c738a03"

最佳答案

您说消息返回为“48d45ba2-4549-41be-8b31-e85b3c738a03”。虽然消息说它是 json,但这并不意味着 SoapUI 会将其解释为有效的 json。有效的 JSON 就像另一个答案中提到的问题一样,以大括号开头和结尾。它还应该有一个键值对。像这样:

{
"sessionId":"48d45ba2-4549-41be-8b31-e85b3c738a03"
}

在这种情况下,传输 $.sessionId 将产生 48d45ba2-4549-41be-8b31-e85b3c738a03(不带引号),而不是 "48d45ba2- 4549-41be-8b31-e85b3c738a03"(带引号)。

附件中有一个带有模拟的项目。它接到了一个电话。如果打开项目,则必须通过单击播放来启动模拟,然后才能执行测试用例。 - https://www.dropbox.com/s/rsgc9q1g45jze5z/StackOverflow_43745255_QuestionQuotationMarks.xml?dl=0 .您可以将其保存为 XML,然后您可以使用 SoapUI 打开它。

您将看到一个属性转移步骤。它有一个通过的步骤。然后是您在没有任何参数的情况下传输值的地方。它将完整地传输消息。包括引号。

第二次转账是'$'。对于有效的 json,这将呈现与不带任何参数的属性传输相同的结果,因为“$”代表根。至少我是这么理解的。

您还将在其中找到一个脚本:

response = context.testCase.getTestStepAt(0).testRequest.response.getResponseContent()
assert response == '"48d45ba2-4549-41be-8b31-e85b3c738a03"'

stripResponse = response.replace("\"", "")
assert stripResponse == '48d45ba2-4549-41be-8b31-e85b3c738a03'

stripResponse 是去掉引号的响应。然后,您可以继续将此变量分配给所选属性,或将其直接注入(inject)下一步的 header 中。

有时脚本是要走的路。

关于testing - SoapUI 测试 : remove quotation marks from session ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43745255/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com