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

Python для начинающих
онлайн, начало 23 сентября
Школа тест-менеджеров v. 2.0
онлайн, начало 2 сентября
Docker: инструменты тестировщика
онлайн, начало 23 сентября
Первый Онлайн ИНститут Тестировщиков
онлайн, начало 21 сентября
Фотография

Шаблон автотеста (С#+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
  • 921 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 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
  • 921 сообщений
  • ФИО:Роман
  • Город:Москва


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

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

 

 

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

Например:

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

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

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

и тд.

 

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

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

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

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


  • 0

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



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



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

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

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