【问题标题】:Webtest : Editing the context parameter during test runWebtest:在测试运行期间编辑上下文参数
【发布时间】:2017-06-21 12:56:23
【问题描述】:

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

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

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

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

【问题讨论】:

  • 没有“最好的方法”,问这样的问题可能会让这里脱离主题。正如你所说,有几种方法可以完成这项任务。
  • @AdrianHHH - 我更新了关于编辑上下文参数的问题。

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


【解决方案1】:

有几种可能的方法。

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

您可以编写使用内置提取规则的自定义提取规则,然后修改结果。基于以下(未测试,未编译)的代码应该可以工作。当然,您需要编写自己的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 插件,在具有提取规则的请求之后的下一个请求中使用。

【讨论】:

  • 感谢您的帮助。我尝试了创建请求插件的选项,并使用 PostRequest 更新提取它的上下文参数。到目前为止,它正在工作。
  • 嗨@AdrianHHH 你介意问我这个问题吗? stackoverflow.com/questions/57715996/…你能帮我解决我关于提取规则和参数的问题吗?
猜你喜欢
  • 2017-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
相关资源
最近更新 更多