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

时间:2017-02-04 04:05:07

标签: visual-studio load-testing web-performance

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

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

我的问题是处理比较的最佳方法是什么?有没有办法编辑上下文参数(名为" CheckNBR"),还是可以覆盖提取规则来操作参数?也许创建自定义提取规则?我有点朝这个方向前进,并且不确定哪些选项效果最佳。

[更新] 我没有确定最佳方式,而是将问题重新指向编辑上下文参数。一旦我从Extraction规则中设置参数,我该如何编辑它?

1 个答案:

答案 0 :(得分:0)

有几种可能的方法。

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

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

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插件,用于具有提取规则的下一个请求之后。