Skip to content

Latest commit

 

History

History
39 lines (33 loc) · 4.61 KB

task_03_ui_tests.md

File metadata and controls

39 lines (33 loc) · 4.61 KB

Задача 03. Тесты через UI

Общая постановка

В этой задаче мы пишем функциональные тесты используя технику "Тестирование через иннтерфейс (UI)". Для тестирования предлагаются 2 приложения:

Дополнительное (не обязательное!) задание:

  • Для любого приложения добавить 1-2 сценария, используя SpecFlow или аналогичный BDD-framework

Детальные требования

Web-приложение

  • все тесты реализуются через Selenium WebDriver или аналогичный framework
  • тестируем основные сценарии пользователя, связанные с авторизацией:
    • регистрация нового пользователя
    • вход под ранее зарегистрированным пользователем и выход
    • редактирвоание профиля пользователя (смена телефона и пароля)
  • все тесты должны быть независимы друг от друга
    • для упрвления пользователями, паролями, ... - доработайте под свои нужды класс IdentityTestHelper (из проекта Northwind.Web.Tests)
  • для описания страниц используем подход PageObjects (можно вручную, можно с использованием библиотек типа HtmlElements)
  • проверку результата каждого теста проводим или через IdentityTestHelper (например, проверяем, что пользователь добавлен) или анализируя страницы (например, что вход и выход прошли успешно)

Desktop-приложение

  • для тестирования используем на выбор UI Automation (но лучше - обертку над ним, типа FlaUI !!!), Appium или свободный аналог (но предварительно согласовать))
  • необходимо протестировать сценарии:
    • добавление контакта
    • удаление контакта
    • поиск существующего контакта(ов)
    • изменение существующего контакта
  • в сценариях создания нового или изменения существующего задествовать минимум 3 вкладки (не обязательно все поля, 1-2 будет достаточно)
  • для управления данными (чтобы сделать тесты независимыми) можно использовать Contacts.dll (пример работы с ней есть можно найти в тестовом классе MainWindowTests)
  • для работы реализуем также подход PageObjects (примеры есть в самом solutions)

Тесты на SpecFlow (не обязательное!!!)

  • для любого из тестов реализуйте несколько тестов на SpecFlow - можно описать в виде SpecFlow-сценариев ранее реализованные тесты
  • для введения в SpecFlow, можно воспользоваться их Tutorial
    • там для сценариев создается отдельный проект на базе их шаблона. Можете поступить также (только нужно будет перенести всю инфраструктуру тестов, которую вы реализуете в первых пунктах), а можете добавить .feature-файл руками (точнее из шаблона Item-ов, которые ставятся с расширением SpecFlow) в существующий проект. Именно так сделано в примерах к лекции