#selenium #xunit.net
#селен #xunit.net
Вопрос:
У меня есть тест E2E selenium / C #, который начинается со страницы входа в систему, переходит на несколько других страниц и заканчивается при выходе из системы. Кстати, это один из многих тестов E2E. Ниже приведены типичные шаги в тестовом классе:
- Перейдите на страницу входа в систему
- Подтвердите правильную страницу
- Войдите в систему с заданными учетными данными
- Подтвердите, что открытая страница — это панель мониторинга
- Нажмите на ссылку
- Подтвердите, что новая страница является правильной страницей . . .
- Выход
Кто-то сказал, что для каждого теста должно быть только одно утверждение. Поэтому я должен разбить их таким образом, чтобы иметь только одно утверждение для каждого теста, а также только один объект браузера создается и передается среди тестов.
Как это решить? Или необходимо прерывать одно утверждение для каждого теста в классе?
У меня есть следующие классы:
- Базовый класс, который имеет конструктор, получающий тип браузера, для создания драйвера и распоряжения закрыть все браузеры
- Класс LoginPage, который обрабатывает связанные действия, такие как переход по URL и вход в систему. Верните результирующую страницу панели мониторинга в тестовый класс
- Другие подобные классы, представляющие разные страницы.
Комментарии:
1. Это очень вопрос мнения! Вам нужно будет попросить вашего таинственного кого -то объяснить причины, лежащие в основе их мнения, и как, по их мнению, это должно быть решено.
2. Для утверждений нет правил.. Это обычный подход к использованию утверждений после каждого шага — подумайте о обычном тестовом примере: когда я делаю …. — я должен se … . Таким образом, каждый раз, когда вы выполняете действие, вы убедитесь, что все так, как ожидалось.
3. извините за не по теме, я чувствую, что здесь хорошее место, чтобы сказать то, что я хотел сказать последние 10 лет: сообщество .NET очень религиозно, однако, используя c #, мы просто описываем обычный конечный автомат, целью которого является просто уменьшить локальную энтропию, нагревая вселенную как можно меньше. В кодировании действительно 0 магии, постарайтесь понять вашего собеседника, возможно, его случай специфичен или он выдвигает эту идею по ошибке.