Это 9-й пост в серии, Тест на автоматизацию BDD для веб-пользовательского интерфейса Отказ В основном он говорит о том, как написать сценарий тестирования веб-автоматизации с помощью CuCumber.js, BDD-тестовой структуры. Вы будете использовать Node.js в качестве языка программирования.
Содержание
- Найти элементы по
я бы
- Найти по
название
- Найти по
класс
- Найти элементы по
Оседание
Найти элементы по идентификатору
ID
Атрибут указывает уникальный атрибут элемента в HTML. Если элемент имеет ID
Атрибут, всегда рекомендуется использовать ID
атрибут, чтобы найти этот элемент. Возьмите поиск Bing в качестве примера, мы можем использовать Chrome devtools, чтобы найти поле ввода, как показано ниже:
«ID» ввода ввода, найденного локатором элемента, является «SB_Form_Q», поэтому в коде SELENIUM мы можем написать код как:
require('chromedriver'); const { Builder } = require('selenium-webdriver'); let driver = new Builder().forBrowser('chrome').build(); driver.get('http://www.bing.com'); //Use id attribute to locate element driver.findElement({id:'sb_form_q'}).sendKeys('CukeTest')
Чтобы запустить этот скрипт, вы можете следовать статью 07: используйте Chrome Browser для автоматизации для настройки вашего проекта тестирования.
Найти по имени
На странице HTML Имя
Атрибут может быть добавлен к элементу, иногда для идентификации поля при отправке HTML-формы. Так что если ID
не доступен, но Имя
Уникальна, вы можете использовать Имя
атрибут, чтобы найти элемент. Например, на странице поиска Bing входной атрибут имени входного поля «Q» и «Q» уникален по всей странице. Так что код может выглядеть так:
require('chromedriver'); const { Builder } = require('selenium-webdriver'); let driver = new Builder().forBrowser('chrome').build(); driver.get('http://www.bing.com'); //use name attribute to locate element driver.findElement({name:'q'}).sendKeys('CukeTest');
Найти по классу
В HTML Класс
Атрибут используется для указания имени класса CSS для элемента. В большинстве случаев Класс
используется для определения стилей отображения, Класс
Также можно использовать на веб-странице, чтобы найти элемент. В Selenium, когда имя класса используется для определения местоположения элемента, и на странице есть несколько элементов, используя один и тот же класс, первый элемент возвращается. Чтобы уменьшить возможные ошибки, убедитесь, что имя класса уникальна на странице при использовании его. Также возьмите поиск Bing в качестве примера. Класс
Значение атрибута – «B_SearchBox», и он уникален. Итак, мы можем написать код так:
require('chromedriver'); const { Builder } = require('selenium-webdriver'); let driver = new Builder().forBrowser('chrome').build(); driver.get('http://www.bing.com'); //Use class attribute to locate element driver.findElement({className:'b_searchbox'}).sendKeys('CukeTest')
Найти от XPath
XPath – это доменный язык для поиска информации в документе XML. Он может найти элементы и атрибуты в документе XML. Современные веб-страницы являются действительными HTML также XML-файл. Поэтому XPath можно использовать для определения размещения элементов страницы HTML. Для конкретного синтаксиса обучения XPath вы можете обратиться к Учебное пособие по XPath для информации. Вот способ автоматически генерировать XPath через инструменты Chrome Developer.
- Откройте поиск Bing и используйте Chrome devtools, чтобы найти поле ввода
- Щелкните правой кнопкой мыши на элементе – Копировать – Скопируйте XPath
Как показано ниже:
Код:
require('chromedriver'); const { Builder } = require('selenium-webdriver'); let driver = new Builder().forBrowser('chrome').build(); driver.get('http://www.bing.com'); // Use XPath to locate element driver.findElement({xpath:'//*[@id="sb_form_q"]'}).sendKeys('CukeTest');
Резюме
Мы обсудили 4 метода для определения веб-элемента во время тестирования автоматизации. Среди них ID
, Имя
и Класс
Атрибуты являются предпочтительными. Выберите любой из них, который может однозначно идентифицировать веб-элемент. Если ни один из них не является уникальным, то вы можете прибегнуть к XPath
, что всегда может быть однозначно при идентификации элементов. Проблема XPath состоит в том, что она больше может измениться, когда HTML-страница обновляется, например, при изменении его макета. Поэтому XPath менее стабилен, а сценарий автоматизации может понадобиться большего обслуживания, сравнивайте три других метода.
Вышеуказанные являются четыреми наиболее часто используемыми методами для определения местоположения элементов, и есть четыре других метода для определения местоположения элементов, которые будут охвачены следующей статьей.
Предыдущий пост : 08. Используйте инструменты разработчика Chrome Chrome Следующий пост : 10. Используйте Chrome devtools, чтобы найти элементы часть 2 Первый пост : 01. Создать и запустить первый образец