asp-classic - 经典 ASP 的自动化测试

标签 asp-classic watin mbunit automated-tests

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

最佳答案

新的 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
}

另一个可帮助您构建代码的有趣基类是 Control 类。当您使用 ASP 时,您将使用不会仅呈现到呈现页面中的一个 html 元素的控件。相反,它通常是包含在 Div 元素中的元素的构造。创建您自己的控件类并继承 Control 时,您将能够包装控件 (html) 内部结构和行为。这使得在页面类中重用控件变得非常容易。以下是如何实例化控件的示例:
var calendar = Document.Control<CalendarControl>("calendarId");

希望这能让您深入了解如何构建页面和控件。

杰伦

关于asp-classic - 经典 ASP 的自动化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/726106/

相关文章:

c# - 将 selenium Nunit 测试迁移到 MBunit 以并行执行

mbunit - TestDriven.net出现Gallio,MbUnit和NCover问题

asp-classic - VBScript/Classic ASP 中还有其他预处理器指令吗?

css - 如何判断CSS是否已经加载?

c# - 使用 WatiN 处理内联 JavaScript 对话

c# - 我怎样才能确保在应用程序关闭之前在我的单例中处理一个对象?

unit-testing - 如何在 Resharper 7 中支持 MBUnit 测试

asp-classic - 经典 ASP - 获取完整的 url 名称

PHP - Readfile 很慢,我有什么选择

vb6 - vbscript 与 Windows 8 的兼容性问题