Краткое введение
Подробное Справочное руководство по API
Во-первых, подготовить среду
1.1 Установка VSCode см здесь , чтобы установить непосредственно с платформы загрузки.
1.2 Установка кипарис, ссылки в настоящем документе
Во-вторых, общий API
2.1 образец
ОПИСАНИЯ ( 'Мой случай Первый тест для Cypress', функция () {
IT ( 'Домашняя страница и поиск посещения Бэйду для testerhome:', функция () { cy.visit ( 'http://www.baidu.com') / / доступ к URL cy.title (). Если ( 'содержать', 'Baidu, вы знаете') // заголовок страницы аутентификации правильно cy.get ( '#kw') // по CSS позиционирование поиск поле ввода .type ( 'testerhome') // введите ключевое слово .Should ( 'have.value', 'testerhome') // проверить , является ли ключевые слова автоматически отображать правильную cy.get ( '#su'). замковое () // По CSS найдите и нажмите на кнопку поиска cy.url (). следует («Включаемого», «WD = testerhome») // Убедитесь , что целевой URL является правильным , которые содержат ключевое слово cy.title (). В случае , если ( «Содержать», «testerhome_ поиск Baidu») // заголовок страницы аутентификации правильно cy.get ( '[ID =». 1" ]' ) .Should ( 'содержит', 'TesterHome') // убедитесь , первый результат , содержит ли TesterHome cy.screenshot () }) })
Объяснение кода:
- Ссылка представляет VSCode собирается сказать, где найти семантическую пакет Cypress, связанную с разрешением
- описывают объявить набор тестов;
- он объявляет тестовый пример;
- beforeEach запустить перед каждым испытанием должно быть сделано;
- cy.get принимают селектор Js, позиционирует элемент строки, конечно, также поддерживает Cypress позиционирования XPath
- К тому времени, или же мы можем получить к элементу объект передается к следующему шагу, для дальнейшей обработки, где найти button_start_search тогда переходят к следующему шагу, и в конечном счете, можно судить по ли button_start_search ожидать функцию значения атрибута соответствуют ожиданиям ,
2,2 Affirm
ожидать ([]). to.be.a ( 'Массив') // Определение типа ожидают (аb) .to.exist // атрибут определяет , есть ли ожидать (1) .to.be.oneOf ([1,2 , 3]) // определяет , является ли значение один ожидать ( 'тестирование'). to.match (/ ^ тест /) // регулярный матч ...
2,3 Интерфейс & Mock вызовов
В-третьих, использование
3.1 Эксплуатация
Слева направо: показано число ряда успехов, неудачи, не работает, отнимает много времени, и кнопки прокрутки автоматически и повторно запустить
Следует отметить, что при подготовке прецедентов, каждый раз, когда вы сохраняете автоматически запускать тесты для отладки более удобная.
3.2 получает позиционирование управления
1. Нажмите селектор -> Нажмите позиционирующий элемент 2 -> 3 генерируется код Скопировать
3.3 генерации отчета ( Junit-Аллюр)
В cypress.json добавить в зависимости от:
"reporter": "junit",
"reporterOptions": {
"mochaFile": "results/my-test-output[hash].xml", // 通过hash 标签区分不同文件的用例结果
"toConsole": true
}
При выполнении кипариса запуск автоматически создает файл XML с
помощью Привлекательности генерировать соответствующий отчет:
// 生成allure 报告
allure generate results --clean
// 打开报告
allure open allure-report
3.4 CI / CD-
Преимущества:
- Скорость чувствует себя быстрее, чем селен.
- Встроенный метод запроса может пропустить слой Логин UI, но требование в том, что вы можете вызвать соответствующий интерфейс входа в систему.
- Автоматически повторить попытку, если действия не увенчались успехом. Это позволит повысить стабильность работы.
- Автоматический скриншот сбой