【问题标题】:Extract Text from Response Body in Coded Webtest using vb使用 vb 从 Coded Webtest 中的响应正文中提取文本
【发布时间】:2017-07-25 09:40:53
【问题描述】:

我在 Visual Studio 中有一个 Web 性能脚本。我通过单击 Generate Code 按钮将其转换为 VB 中的 Coded 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 字符串...它不起作用。我尝试通过查看网络并尝试一些选项来做。我现在迷路了。任何人都可以帮忙。

【问题讨论】:

  • 我已经编辑了你的问题。如果我误解了您的意思,请edit 纠正它。

标签: vb.net performance visual-studio webtest


【解决方案1】:

最简单的解决方案如下。

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

但是,如果您仍然需要更健壮的,请尝试正则表达式

【讨论】:

  • 这在正常情况下很好,但我想做的是在 Coded Webtest 中。我首先需要请求的响应。谢谢
  • 能否请您使用您尝试过的代码更新您的原始帖子...我将能够更了解情况
  • 我会在几分钟内完成。当然。谢谢。
【解决方案2】:

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

对于您的情况,显示的字符串显示实际正文的十六进制转储。 ebody 不包括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 pluginsweb test plugins

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-03
    • 2022-01-04
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    相关资源
    最近更新 更多