방법: 부하 테스트 플러그 인 만들기
업데이트: 2007년 11월
부하 테스트 플러그 인을 만들어 부하 테스트가 실행되는 동안 코드를 여러 시점에서 실행할 수 있습니다. 플러그 인을 만들어 부하 테스트의 기본 제공 기능을 확장하거나 수정합니다. 예를 들어 부하 테스트 플러그 인을 코딩하여 부하 테스트가 실행되는 동안 부하 테스트 패턴을 설정하거나 수정할 수 있습니다. 그러기 위해서는 ILoadTestPlugin 인터페이스를 상속하는 클래스를 만들어야 합니다. 이 클래스는 이 인터페이스의 Initialize 메서드를 구현해야 합니다. 자세한 내용은 ILoadTestPlugin을 참조하십시오.
참고: |
---|
웹 테스트에 대한 플러그 인도 만들 수 있습니다. 자세한 내용은 방법: 웹 테스트 플러그 인 만들기를 참조하십시오. |
C#을 사용하여 부하 테스트 플러그 인을 만들려면
웹 테스트를 포함하는 테스트 프로젝트를 엽니다.
자세한 내용은 방법: 테스트 프로젝트 만들기를 참조하십시오.
테스트 프로젝트에 부하 테스트를 추가한 다음 웹 테스트를 실행하도록 구성합니다.
자세한 내용은 방법: 부하 테스트 마법사 시작을 참조하십시오.
테스트 솔루션에 C# 클래스 라이브러리 프로젝트를 추가합니다.
클래스 라이브러리 프로젝트에 Microsoft.VisualStudio.QualityTools.LoadTestFramework DLL에 대한 참조를 추가합니다.
클래스 라이브러리 프로젝트에 있는 클래스 파일에 Microsoft.VisualStudio.TestTools.LoadTesting 네임스페이스에 대한 using 문을 추가합니다.
클래스 라이브러리 프로젝트에서 만들어진 클래스에 대한 ILoadTestPlugin 인터페이스를 구현합니다. 샘플 구현을 보려면 다음 예제 단원을 참조하십시오.
테스트 프로젝트에서 마우스 오른쪽 단추를 클릭하고 참조 추가 를 선택합니다. 프로젝트 탭에서 클래스 라이브러리 프로젝트를 선택하고 확인을 클릭합니다.
부하 테스트를 열고 부하 테스트의 최상위 노드를 선택합니다. 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");
}
}
}
}
부하 테스트와 함께 사용자 지정 코드를 실행하도록 부하 테스트 플러그 인에서 처리할 수 있는 부하 테스트 관련 이벤트는 여덟 개가 있습니다. 다음은 부하 테스트 실행의 여러 기간에 대한 액세스를 제공하는 이벤트 목록입니다.
HeartBeat()