Это 11-й пост в серии, тест на автоматизации BDD для веб-пользовательского интерфейса. В основном он говорит о том, как написать сценарий тестирования веб-автоматизации с помощью CuCumber.js, BDD-тестовой структуры.
Содержание
- Введение в метод винделений
Показания
противвыезд
Введение в метод винделений
В предыдущих двух постах мы говорили о элементах страницы таким образом, чтобы они были расположены с использованием драйвера. Общие операции следующие:
driver.findElement({id:xxxxxxxx});
В селен-Webdriver метод kesteLement возвращает один элемент, а метод вишников возвращает массив всех элементов, соответствующих запросу. Возьми Node.js Домашняя страница Например, мы хотим перечислить пункты меню на этой странице. Мы используем Chrome devtools, чтобы найти один из пунктов меню:
Затем вы можете скопировать селектор CSS из элемента ссылки в devtools, который есть:
body > header > div > nav > ul > li.nav-foundation > a
Для получения более подробной информации о том, как это сделать, обратитесь к последнему посту: используйте Chrome devtools, чтобы найти элементы часть 2.
Чтобы выбрать массив элементов Link, вам нужно немного изменять селектор, чтобы сделать его достаточно универсальным:
nav > ul > li > a
Код Node.js является следующим:
require('chromedriver'); const { Builder } = require('selenium-webdriver'); let driver = new Builder().forBrowser('chrome').build(); (async function() { await driver.get('https://nodejs.org'); //use findElements let links = await driver.findElements({css:'nav > ul > li > a'}); for(let link of links) { text = await link.getText(); console.log(text); } return driver.quit(); })()
Обратите внимание, что мы разместим звонок внутри async
Функция, чтобы мы могли использовать ждать
Ключевое слово вместо использования Тогда
Призыв к цепочке асинковых вызовов селен-Webdriver. Вы можете запустить вышеуказанный кусок кода с шагами, указанными в статье Используйте Chrome браузер для автоматизации Отказ
Он выводит тексты пунктов меню:
HOME ABOUT DOWNLOADS DOCS GET INVOLVED SECURITY NEWS FOUNDATION
Показания по сравнению с витежими
Оба Показания
и набережения
Методы могут использовать 8 методов поиска, которые мы обсуждали ранее. Разница между ними является первым возвращает один элемент, если ни один элемент не найден, он выбрасывает исключение, а последняя возвращает массив элементов, он может вернуть пустой список, если никаких элементов не совпадает с запросом. Здесь я перечисляю условия с ними, когда есть разное количество сопоставленных элементов.
- поставка
- 0 Матч: бросает ошибку
- 1 матч: возвращает элемент
- 2 ~ N совпадений: возвращает первый элемент появляется в доме
- выезд
- 0 матча: вернуть пустой массив
- 1 матч: возвращает массив, который содержит только один элемент
- 2 ~ N совпадений: возврат массива со всеми элементами
Помните, что оба они возвращают объект обещания, что означает, что вам нужно использовать «.then» призыв к цепочке операторов после него или использовать ждать
ключевое слово внутри async
функция, чтобы позвонить им.
Также см.: Предыдущий пост : 10. Используйте Chrome devtools, чтобы найти элементы часть 2 Следующий пост : 12. Загрузить файлы с помощью Webdriver Selenium Первый пост : 01. Создать и запустить первый образец