使用 vb 从 Coded Webtest 中的响应正文中提取文本

Extract Text from Response Body in Coded Webtest using vb

我在 Visual Studio 中有一个 Web 性能脚本。我已通过单击“生成代码”按钮将其转换为 VB 中的编码 Webtest。

在我的网络测试中有 5 个函数。除了第一个,其他的都是 SQL 程序。

其中,我需要一个执行特定操作的 Web 请求。基于该操作,在响应正文中 - 它生成一个唯一 ID。

我需要这个 Id 才能在所有功能中访问它。

响应主体是这样的:

0x00000000  7B  22  69  64  22  3A  36  35  33  30  36  36  33  7D            {"id":2133221}  

现在我想知道,我该怎么做。我只需要2133221

我试过了 使用上下文参数名称并将其附加到 .to 字符串...它没有用。我尝试通过查看网络并尝试一些选项来做到这一点。我现在迷路了。谁能帮忙。

下面是最简单的解决方案。

str = "0x00000000 7B 22 69 64 22 3A 36 35 33 30 36 36 33 7D {""id"":2133221}"

arr = Split(str, ":")
strID = Left(arr(1), len(arr(1)) - 1)

msgbox strId

但是,如果您还需要更强大的,请尝试正则表达式

请参阅 access the response from a web coded performance test 了解如何在编码测试中访问响应。在 C# 中,VB 风格相似。

对于您的情况,显示的字符串显示了实际正文的十六进制转储。正文不包括 0x00000000 7B 22 69 64 22 3A 36 35 33 30 36 36 33 7D 部分。

获取所需 Id 字符串的一种简单方法是使用 Extract text 提取规则,其中 Start with"id":Ends with".这需要在“.webtest”文件上完成。

我强烈建议不要将 Web 测试转换为编码测试。它失去了“.webtest”格式的所有高级结构。 Web 测试编辑器有许多工具可以轻松增强和更改测试,当更改为编码测试时,所有这些工具都会丢失。对提取和验证规则稍作了解可为您提供许多便利。如果您乐于使用编码测试的 VB,那么您也应该乐于编写插件,因此请查看 web test request plugins and web test plugins.