如何:创建负载测试插件

更新:2007 年 11 月

可以创建负载测试插件,以便在负载测试运行过程中的不同时间运行代码。可以创建插件来扩展或修改负载测试的内置功能。例如,可以编写负载测试插件代码,以便在负载测试运行过程中设置或修改负载测试模式。若要执行此操作,必须创建一个继承 ILoadTestPlugin 接口的类。此类必须实现此接口的 Initialize 方法。有关更多信息,请参见 ILoadTestPlugin

说明:

还可以创建 Web 测试插件。有关更多信息,请参见如何:创建 Web 测试插件

使用 C# 创建负载测试插件

  1. 打开一个包含 Web 测试的测试项目。

    有关更多信息,请参见如何:创建测试项目

  2. 向该测试项目中添加一个负载测试,并对其进行配置以运行 Web 测试。

    有关更多信息,请参见如何:启动负载测试向导

  3. 向测试解决方案中添加一个 C# 类库项目。

  4. 在类库项目中添加对 Microsoft.VisualStudio.QualityTools.LoadTestFramework DLL 的引用。

  5. 在类库项目中的类文件中,为 Microsoft.VisualStudio.TestTools.LoadTesting 命名空间添加 using 语句。

  6. 为在类库项目中创建的类实现 ILoadTestPlugin 接口。有关示例实现,请参见下面的“示例”部分。

  7. 在该测试项目中,右击并选择“添加引用”。从“项目”选项卡中,选择类库项目。单击“确定”。

  8. 打开负载测试并选择负载测试的顶级节点。按 F4 以显示“属性”窗口。现在可以通过单击省略号 (…) 来设置负载测试插件的属性。在对话框中选择类。

示例

下面的代码演示在 LoadTestFinished 事件发生后运行自定义代码的负载测试插件。如果此代码在测试 rig 中运行,并且该测试 rig 没有本地主机 SMTP 服务,则负载测试将保持“正在进行中”状态,同时将打开一个消息框。

using System;
using Microsoft.VisualStudio.TestTools.LoadTesting;
using System.Net.Mail;
using System.Windows.Forms;

namespace LoadTestPluginTest
{
    public class MyLoadTestPlugin : ILoadTestPlugin
    {
        LoadTest myLoadTest;

        public void Initialize(LoadTest loadTest)
        {
            myLoadTest = loadTest;
            myLoadTest.LoadTestFinished += new
                EventHandler(myLoadTest_LoadTestFinished);
        }

        void myLoadTest_LoadTestFinished(object sender, EventArgs e)
        {
            try
            {
                // place custom code here
                MailAddress MyAddress = new MailAddress("someone@example.com");
                MailMessage MyMail = new MailMessage(MyAddress, MyAddress);
                MyMail.Subject = "Load Test Finished -- Admin Email";
                MyMail.Body = ((LoadTest)sender).Name + " has finished.";

                SmtpClient MySmtpClient = new SmtpClient("localhost");
                MySmtpClient.Send(MyMail);
            }

            catch (SmtpException ex)
            {
                MessageBox.Show(ex.InnerException.Message +
                    ".\r\nMake sure you have a valid SMTP.", "LoadTestPlugin");
            }
        }
    }
} 

有八种事件与负载测试相关联,且可在负载测试插件中进行处理,以使用负载测试运行自定义代码。以下是事件的列表,这些事件提供对负载测试运行的不同时间段的访问:

请参见

任务

如何:创建 Web 测试插件

参考

ILoadTestPlugin