В основном, вы делаете автоматизацию для уменьшения времени выполнения циклов регрессии, автоматизируя Test Cases
в зависимости от функциональности приложения. поэтому сначала создайте тестовые примеры, используя методы тестирования, такие как ECP, BVA
и т. д.
Каждый тестовый пример должен иметь утверждение, называемое ожидаемым результатом или функциональностью (в противном случае он не будет называться тестовым кейсом).
Это утверждение может быть что-нибудь подобное,
- ли Войти успешно после предоставления действительные учетные данные
- отображается сообщение об ошибке после ввода неверных учетных данных и т.д.
Селен помогает нам автоматизировать веб-взаимодействия (навигацию, клики, ввод текста и т. д.) и не выполняйте никаких утверждений для вас.
Утверждения доступны в виде фреймворков, таких как JUnit, TestNG
(на Java) с классом Assertions
. Там встроена поддержка из языков программирования, как assert
ключевого слова в питоне & Java (http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html)
Итак, все, что вы упомянули в своем вопросе, как общие утверждения (Проверьте каждую страницу Заголовок и т.д.), это только вебы-взаимодействие. они не решают, является ли тест PASS or FAIL
. Это вы определяете критерии, является ли тест PASS/FAIL.
Например, есть тест связан с успешной регистрации.
Здесь вы можете автоматизировать взаимодействие в Интернете, например, перейти на страницу входа в систему, ввести учетные данные, нажать кнопку «Отправить».
Затем, чтобы проверить, успешно ли вы вошли в систему или нет, вы ищете веб-элемент на домашней странице пользователя, зарегистрированного (например, welcome user
) в обычном сценарии. В Automation вы пытаетесь найти текст welcome user
с помощью webelement.Затем вы используете Assertions предусмотренные рамками, утверждать, присутствует ли на веб-странице, как
Assertions.assertEqual(expected_message, actual_message); // just an example.
Если expected_message и actual_message такое же ожидаемое сообщение, то метод не бросать никаких исключений, что приводит к маркировке на TestCase как PASS каркасом
Если expected_message и actual_message не совпадают, то AssertionError поднимается методом assertEqual, что приводит к тому, что фреймворк маркирует тестовый случай как FAIL.
Возможно получить лучший ответ на sqa.stackexchange.com. – jsheeran
@jsheeran: спасибо, я попробую там тоже. – Camreyjones
Вы можете протестировать стили (css clases), которые есть у компонентов, вы можете щелкнуть по кнопке и ожидать, что некоторые функции будут отображаться на экране (ошибка или успех) , Вы можете тестировать перенаправления и т. Д. Автоматизация тестирования похожа на то, что человек будет взаимодействовать со страницей. – Hosar