Webtest:在测试期间编辑上下文参数 运行

Webtest : Editing the context parameter during test run

我正在使用 Visual Studio 2015 Web 性能测试 (.webtest) 并且有一个提取规则来捕获引用支票号码(通过内部文本)到上下文参数中的 8 位数字.

如果号码只有6位数字,则支票号码前有两个空格。这导致了一个问题,因为我在表单参数中使用了支票号码,这些空格需要切换为零 (0)。

我的问题是处理比较的最佳方式是什么?有没有办法编辑上下文参数(名为 "CheckNBR"),或者我可以覆盖提取规则来操作参数吗?也许改为创建自定义提取规则?我在这方面进行了全方位的研究,不确定哪些选项最有效。

[更新] 我没有确定最佳方法,而是将问题重定向到上下文参数的编辑。从提取规则中设置参数后,如何编辑它?

有几种可能的方法。

您可以编写一个自定义提取规则来查找所需的文本,根据需要对其进行修改,然后将其保存到上下文变量中。这可能是最复杂的版本。

您可以编写使用内置提取规则的自定义提取规则,然后修改结果。基于以下(未测试,未编译)的代码应该可以工作。当然,您需要编写自己的 ModifyTheTextAsNeeded 版本。然后更改网络测试以使用下面的提取而不是原始的。

public class ExtractAndModifyHtmlTagInnerText : ExtractHtmlTagInnerText
{
    public override void Extract(object sender, ExtractionEventArgs e)
    {
        base.Extract(sender, e);

        string extractedText = e.WebTest.Context[this.ContextParameterName].ToString();
        string modifiedText = ModifyTheTextAsNeeded(extractedText);
        e.WebTest.Context[this.ContextParameterName] = modifiedText
    }
}

另一种方法是将类似于上面显示的方法主体的最后三行的内容放入插件中。它可能是一个 PreRequest 插件,在具有提取规则的请求之后的下一个请求中使用。