ValidationRule.Validate - метод
Обновлен: Ноябрь 2007
При переопределении в производном классе проверяет и запрос, и ответ.
Пространство имен: Microsoft.VisualStudio.TestTools.WebTesting
Сборка: Microsoft.VisualStudio.QualityTools.WebTestFramework (в Microsoft.VisualStudio.QualityTools.WebTestFramework.dll)
Синтаксис
'Декларация
Public MustOverride Sub Validate ( _
sender As Object, _
e As ValidationEventArgs _
)
'Применение
Dim instance As ValidationRule
Dim sender As Object
Dim e As ValidationEventArgs
instance.Validate(sender, e)
public abstract void Validate(
Object sender,
ValidationEventArgs e
)
public:
virtual void Validate(
Object^ sender,
ValidationEventArgs^ e
) abstract
public abstract function Validate(
sender : Object,
e : ValidationEventArgs
)
Параметры
- sender
Тип: System.Object
Источник события.
- e
Тип: Microsoft.VisualStudio.TestTools.WebTesting.ValidationEventArgs
Аргумент ValidationEventArgs, содержащий данные события.
Заметки
Проверка вызывается с контекстом тестового случая и контекстом транзакции. Это позволяет правилу проверить как запрос, так и ответ, гарантируя, что данные соответствуют требуемым значениям.
Примеры
В следующем примере выполняется проверка наличия клиентских сценариев на веб-странице.
namespace TestProject1
{
using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.WebTesting;
using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
using MyValidationRule;
public class MyCodedWebTest : WebTest
{
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
WebTestRequest request1 = new WebTestRequest
("https://localhost/MyWebSite");
request1.ThinkTime = 13;
ExtractHiddenFields rule1 = new ExtractHiddenFields();
rule1.ContextParameterName = "1";
request1.ExtractValues += new EventHandler<ExtractionEventArgs>
(rule1.Extract);
yield return request1;
WebTestRequest request2 = new WebTestRequest
("https://localhost/MyWebSite/Default.aspx");
request2.Method = "POST";
FormPostHttpBody request2Body = new FormPostHttpBody();
request2Body.FormPostParameters.Add("__VIEWSTATE",
"{{$HIDDEN1.__VIEWSTATE}}");
request2Body.FormPostParameters.Add("Button1", "Button");
request2Body.FormPostParameters.Add("TextBox1",
"Added Text in form");
request2.Body = request2Body;
ValidatePageContainsScript rule2 = new ValidatePageContainsScript();
request2.ValidateResponse += new EventHandler<ValidationEventArgs>
(rule2.Validate);
yield return request2;
}
}
}
Option Strict Off
Option Explicit On
Imports Microsoft.VisualStudio.TestTools.WebTesting
Imports Microsoft.VisualStudio.TestTools.WebTesting.Rules
Imports MyVBProject.MyValidationRule
Imports System
Imports System.Collections.Generic
Namespace MyVBTestProject
Public Class MyCodedWebTest
Inherits ThreadedWebTest
Public Sub New()
MyBase.New
Me.PreAuthenticate = true
Me.Proxy = "myproxy.com:80"
End Sub
Public Overrides Sub Run()
Dim request1 As WebTestRequest = New WebTestRequest _
("https://localhost/ts")
request1.ThinkTime = 18
Dim rule1 As ValidatePageContainsScript = New _
ValidatePageContainsScript
AddHandler request1.ValidateResponse, AddressOf rule1.Validate
Dim rule2 As ExtractHiddenFields = New ExtractHiddenFields
rule2.ContextParameterName = "1"
AddHandler request1.ExtractValues, AddressOf rule2.Extract
MyBase.Send(request1)
End Sub
End Class
End Namespace
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Microsoft.VisualStudio.TestTools.WebTesting - пространство имен