Перейти к содержимому

Автоматизатор мобильных приложений
онлайн, начало 11 августа
Тестирование безопасности
онлайн, начало 11 августа
Тестирование мобильных приложений
онлайн, начало 11 августа
Автоматизация тестирования REST API на Python
онлайн, начало 11 августа
Фотография

Шаблон автотеста (С#+Nunit+Selenium Webdriver)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 minipig13

minipig13

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Степан Гудков

Отправлено 28 мая 2021 - 18:31

Коллеги, привет!

Подскажите пожалуйста пример хорошо построенного теста веб-приложения с использованием связки С#+Nunit+Selenium Webdriver. Я начинающий Selenium - автоматизатор, начал копать в этой теме, уже перерыл кучу сайтов но не нашел хорошего примера теста. Везде в основном в примерах приводят простейшие примеры, типа проверки логина и т.д., т.е. тесты состоят из пары действий.

А можете ли привести пример реального  практического тест-кейса перенесенного в автотест? Например: заходим на сайт -> переходим к спику товаров->добавляем товар в корзину. Как такого рода тест должен выглядеть в тесте в селениум?

Имею в виду:

-нужно ли на каждое действие отдельный тест или все объединять в один?

-если объединять в один, то нужно ли делать Assert после каждого действия?

 

Я понимаю, что нужно:

- создать какой-нибудь общий тестовый класс TestBase (туда запихнуть [OneTimeSetUp],  [OneTearDown] и прочие вспомогательные вещи)

- создать класс с самими тестами ,например, Tests:TestBase (там будут указаны тесты в определенном порядке [Test, Order (1)], [Test, Order (2)] и тд)

- создать пейдж-обджекты на тестируемые страницы (там будут указаны тесты в определенном порядке.

Но хотелось бы "красивый" пример с лучшими практиками по автоматизации, чтобы взять за основу в своей работе.В идеале посмотреть ссылку на Гит.

Заранее огромное спасибо!


  • 0

#2 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 897 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 29 мая 2021 - 18:43

Имею в виду:

-нужно ли на каждое действие отдельный тест или все объединять в один?

-если объединять в один, то нужно ли делать Assert после каждого действия?

 

Лучше разделять, чтобы не делать Assert после каждого действия.


  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#3 minipig13

minipig13

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Степан Гудков

Отправлено 30 мая 2021 - 12:19

 

Имею в виду:

-нужно ли на каждое действие отдельный тест или все объединять в один?

-если объединять в один, то нужно ли делать Assert после каждого действия?

 

Лучше разделять, чтобы не делать Assert после каждого действия.

 

Спасибо за ответ!

Получается, нужно делать отдельный на каждое действие и в конце 1 ассерт?

Например:

тест1- вход на сайт (ввод логина/пароля) Assert()

тест 2-  переходим на стрианицу товаров Assert()

тест 3 - добавляем товар в корзину Assert()

и тд.

 

Но насколько я помню, в рекомендациях к написанию тестов пишу,  что тесты должны быть автономными, но в данном случае они зависят друг от друга. т.к. не выполнив вход на сайт не добавишь товар в корзину и тд...

или я че-то не понимаю?


  • 0

#4 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 897 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 30 мая 2021 - 12:46

Спасибо за ответ!

 

 

Получается, нужно делать отдельный на каждое действие и в конце 1 ассерт?

Например:

тест1- вход на сайт (ввод логина/пароля) Assert()

тест 2-  переходим на стрианицу товаров Assert()

тест 3 - добавляем товар в корзину Assert()

и тд.

 

Но насколько я помню, в рекомендациях к написанию тестов пишу,  что тесты должны быть автономными, но в данном случае они зависят друг от друга. т.к. не выполнив вход на сайт не добавишь товар в корзину и тд...

или я че-то не понимаю?

Ну тут я не могу что-то конкретно ответить, так как не знаю ваших требований и логики работы тестов. Во-первых, если у вас не отработает тест на вход сайта, это не означает, что не должны выполняться последующие тесты. Если же задача проверить добавление товара в корзину конкретно авторизованным пользователем, то тут и так все понятно. Во-вторых, если не делать отдельный тест на действие, вам придется писать один и тот же код по несколько раз. А в последствии, поддерживать такие тесты будет весьма затруднительно.

Вообще язык и тестовый фреймворк (NUnit) не принципиальны, вы можете изучить примеры на других языках и *Unit'ах. Они будут очень похожи.


  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.



Программирование на С# для тестировщиков
онлайн
Автоматизатор мобильных приложений
онлайн
Selenium WebDriver: полное руководство
онлайн
Программирование на Python для тестировщиков
онлайн



Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале