Asp classic 经典ASP的自动测试

Asp classic 经典ASP的自动测试,asp-classic,watin,mbunit,automated-tests,Asp Classic,Watin,Mbunit,Automated Tests,有没有人对一个经典的ASP站点进行自动QA测试?我开始研究WatIn和MBUnit,但不确定构建测试的最佳方法。我使用测试工具测试了ASP站点。如果您正在寻找构造测试的方法,请查看。新的WatiN 2.0 beta 1确实提供了一些基类来帮助您构造测试类 它基本上归结为每个页面都有一个类(继承WatiN.Core.page类)。在这些页面类中,可以为要访问的每个控件添加属性。比如: public Button OkButton { get { return Document.Button

有没有人对一个经典的ASP站点进行自动QA测试?我开始研究WatIn和MBUnit,但不确定构建测试的最佳方法。

我使用测试工具测试了ASP站点。如果您正在寻找构造测试的方法,请查看。

新的WatiN 2.0 beta 1确实提供了一些基类来帮助您构造测试类

它基本上归结为每个页面都有一个类(继承WatiN.Core.page类)。在这些页面类中,可以为要访问的每个控件添加属性。比如:

public Button OkButton
{
    get { return Document.Button("okbuttonId");
}
您还可以创建方法,将一些更复杂的操作包装到页面中。例如:

public void AddPerson(string name, string email)
{
    /// logic goes here tp click on NewButton, set the textfields and click on OkButton
}
这些页面类提供了在一个位置定义元素的优势

在测试代码中,您可以创建一个页面类,如下所示:

using(var ie = new IE("www.somedomain.com/person"))
{
  var page = ie.Page<PersonDetailPage>();
  page.AddPerson("J. Doe", "jdoe@example.com");

  // Do some Assert
}
使用(var ie=new ie(“www.somedomain.com/person”))
{
var page=ie.page();
第页:AddPerson(“J.Doe”jdoe@example.com");
//做一些断言
}
另一个帮助您构造代码的有趣基类是Control类。当您使用ASP时,您将使用一些控件,这些控件不会在呈现的页面中只呈现一个html元素。相反,它通常是Div元素中包含的元素的构造。在创建自己的控件类和继承控件时,您将能够包装控件(html)的内部结构和行为。这使得在页面类中重用控件变得非常容易。下面是如何实例化控件的示例:

var calendar = Document.Control<CalendarControl>("calendarId");
var calendar=Document.Control(“calendarId”);
希望这能让您了解如何构建页面和控件


Jeroen

FWIW,在过去3年中,我们一直在使用WatiN和MbUnit进行web集成测试

我们已将测试分为3个项目:

  • 框架:包含用于设置测试夹具和各种自定义MbUnit和WatiN扩展的粘合代码

  • SiteMap:包含页面和控件类,它们按层次结构排列到名称空间中,对应于站点的不同域和部分。此项目用于将测试与网站结构的主要部分分离。你可以把它看作是网站的一个模型

  • 测试:包含实际的测试,这些测试也按层次结构排列到名称空间中。测试根据需要利用站点地图和框架与网站交互。这样,与每次测试都反复包含相同的按钮ID相比,代码重复要少得多

  • 杰夫