Рубрики
Без рубрики

BDD Web Automation 09: Используйте Chrome devtools, чтобы найти элементы

Мы обсудили 4 метода для определения веб-элемента во время тестирования автоматизации. Среди них, «ID», «Имя и« атрибуты классов »являются предпочтительными.

Автор оригинала: CukeTest.

Это 9-й пост в серии, Тест на автоматизацию BDD для веб-пользовательского интерфейса Отказ В основном он говорит о том, как написать сценарий тестирования веб-автоматизации с помощью CuCumber.js, BDD-тестовой структуры. Вы будете использовать Node.js в качестве языка программирования.

Содержание

  • Найти элементы по я бы
  • Найти по название
  • Найти по класс
  • Найти элементы по Оседание

Найти элементы по идентификатору

ID Атрибут указывает уникальный атрибут элемента в HTML. Если элемент имеет ID Атрибут, всегда рекомендуется использовать ID атрибут, чтобы найти этот элемент. Возьмите поиск Bing в качестве примера, мы можем использовать Chrome devtools, чтобы найти поле ввода, как показано ниже:

1.png.

«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.

  1. Откройте поиск Bing и используйте Chrome devtools, чтобы найти поле ввода
  2. Щелкните правой кнопкой мыши на элементе – Копировать – Скопируйте XPath

Как показано ниже:

2.png.

Код:

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. Создать и запустить первый образец