Автоматизированное тестирование для Classic ASP - PullRequest
4 голосов
/ 07 апреля 2009

Кто-нибудь проводит автоматическое тестирование качества для сайта Classic ASP? Я начал смотреть на WatIn и MBUnit, но не уверен, как лучше организовать тесты.

Ответы [ 3 ]

2 голосов
/ 08 апреля 2009

Новая версия 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. Создавая собственный класс элемента управления и наследуя элемент управления, вы сможете обернуть внутренние элементы и поведение элементов управления (html). Это позволяет очень легко повторно использовать элемент управления в ваших классах страниц. Ниже приведен пример создания экземпляра элемента управления:

var calendar = Document.Control<CalendarControl>("calendarId");

Надеюсь, это даст вам некоторое представление о том, как вы можете структурировать свои страницы и элементы управления.

Йерун

1 голос
/ 14 апреля 2009

FWIW, мы используем WatiN и MbUnit для тестирования веб-интеграции в течение последних 3 лет.

Мы разделили тесты на 3 проекта:

  1. QA.Framework: содержит код клея для настройки тестовых приборов и различных пользовательских расширений MbUnit и WatiN.

  2. QA.SiteMap: Содержит классы Page и Control, организованные иерархически в пространства имен, которые соответствуют различным доменам и частям сайтов. Этот проект служит для отделения тестов от основной части структуры веб-сайта. Вы можете думать об этом как о модели сайтов.

  3. QA.Tests: Содержит фактические тесты, также расположенные иерархически в пространства имен. Тесты используют SiteMap и Framework по мере необходимости для взаимодействия с веб-сайтом. Таким образом, дублирование кода намного меньше, чем если бы каждый тест содержал одинаковые идентификаторы кнопок снова и снова ...

Джефф.

0 голосов
/ 08 апреля 2009

Я протестировал ASP-сайт с Watir . Если вы ищете способ структурировать тесты, взгляните на WatirCraft framework .

...