如何:创建请求级插件

请求是构成 Web 性能测试的声明性语句。 使用 Web 性能测试插件,可以隔离代码并在 Web 性能测试中的主要声明性语句外部重用代码。 可以创建插件并将其添加到单个请求以及包含它的 Web 性能测试中。 自定义的请求插件为您提供了一种调用代码的方式(作为特定的请求在 Web 性能测试中运行)。

每个 Web 性能测试请求插件都具有 PreRequest 方法和 PostRequest 方法。 将请求插件附加到某个特定的 http 请求之后,在发出请求之前将会激发 PreRequest 事件,并在收到请求之后激发 PostRequest 事件。

通过从 WebTestRequestPlugin 基类派生您自己的类,可以创建自定义的 Web 性能测试请求插件。

可以将自定义的 Web 性能测试请求插件用于已记录的 Web 性能测试。 自定义的 Web 性能测试请求插件使您只需编写极少量的代码即可获得对 Web 性能测试的更大程度控制。 此外,还可以将它们用于编码 Web 性能测试。 有关更多信息,请参见如何:创建编码的 Web 性能测试

要求

  • Visual Studio 旗舰版

创建请求级插件

  1. 在“解决方案资源管理器”中右击解决方案。 选择 添加 然后选择 新建项目

    随即出现**“添加新项目”**对话框。

  2. 在**“已安装的模板”下,选择“Visual C#”**。

  3. 在模板列表中,选择**“类库”**。

  4. 名称 文本框中,键入一个名称为您的选件类并选择 确定

    新的类库项目将添加到“解决方案资源管理器”中,而且新类会出现在代码编辑器中。

  5. 在“解决方案资源管理器”中,右击新类库中的**“引用”文件夹并选择“添加引用”**。

    将显示**“添加引用”**对话框。

  6. 选择 *** .NET *** 选项卡,向下滚动,选择" *** Microsoft.VisualStudio.QualityTools.WebTestFramework *** 然后选择 确定

    对**“Microsoft.VisualStudio.QualityTools.WebTestFramework”的引用将添加到“解决方案资源管理器”的“引用”**文件夹中。

  7. 在解决方案资源管理器中,右击Web性能的顶部节点,负载测试包含负载测试添加到的项目要添加Web性能测试请求测试插件。 选择**“添加引用”**。

    将显示**“添加引用”**对话框。

  8. 选择 项目 选项卡中,选择选件类库项目并选择 确定

  9. 在代码编辑器中,编写插件的代码。 首先,创建一个从 WebTestRequestPlugin 派生的新公共类。

  10. PreRequest 或/和 PostRequest 事件处理程序内运行代码。 有关示例实现,请参见下面的“示例”部分。

  11. 在编写完代码后,生成新项目。

  12. 打开要在其中添加请求插件的 Web 性能测试。

  13. 右击要在其中添加请求插件的请求,然后选择**“添加请求插件”**。

    随即显示**“添加 Web 测试请求插件”**对话框。

  14. 在**“选择插件”**下,选择新插件。

  15. 在**“选定插件的属性”**窗格中,设置要在运行时使用的插件初始值。

    备注

    可根据需要从插件公开任意多个属性;只需将其设置为公共、可设置并属于 Integer、Boolean 或 String 等基类型。以后,还可以使用“属性”窗口更改 Web 性能测试插件属性。

  16. 选择**“确定”**。

    将插件添加到**“请求插件”**文件夹中,该文件夹是 HTTP 请求的子文件夹。

    警告

    在运行使用插件的 Web 性能测试或负载测试时,可能会出现类似如下的错误:

    Request failed: Exception in <plug-in> event: Could not load file or assembly '<"Plug-in name".dll file>, Version=<n.n.n.n>, Culture=neutral, PublicKeyToken=null' or one of its dependencies.The system cannot find the file specified.

    如果对任何插件进行代码更改并创建新 DLL 版本 (Version=0.0.0.0),则会引发这种情况,但插件仍会引用原来的插件版本。若要更正此问题,请执行以下步骤:

    1. 在Web性能测试和负载测试项目中,您会看到引用警告。移除和重新添加对插件 DLL 的引用。

    2. 从测试或适当位置移除插件,然后再重新添加。

示例

可以使用以下代码来创建自定义的 Web 性能测试插件,其中会显示两个对话框。 一个对话框显示与要附加请求插件的请求关联的 URL。 第二个对话框显示代理的计算机名称。

备注

下面的代码要求您添加对 System.Windows.Forms 的引用。

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.VisualStudio.TestTools.WebTesting;

namespace RequestPluginNamespace
{
    public class MyWebRequestPlugin : WebTestRequestPlugin
    {
        public override void PostRequest(object sender, PostRequestEventArgs e)
        {
            MessageBox.Show(e.WebTest.Context.AgentName);
        }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            MessageBox.Show(e.Request.Url);
        }
    }
}

请参见

任务

如何:为 Web 性能测试创建自定义提取规则

如何:为 Web 性能测试创建自定义验证规则

如何:创建负载测试插件

如何:创建编码的 Web 性能测试

如何:使用 Web 性能测试编辑器编辑现有 Web 性能测试

参考

WebTestRequestPlugin

其他资源

为负载和 Web 性能测试创建和使用自定义插件