Примеры использования Selenium Webdriver JS

Примеры использования Selenium Webdriver JS

В предыдущей статье мы выполнили:

  1. Добавили бинарный файл Selenium Chromedriver.
  2. Установили WebDriverJs используя NPM.
  3. Имея представление, что в javascript методы работают асинхронно, уточнили как работать с методом than().

Рассмотрим парочку примеров. Первый из них:

Его можно запустить следующим образом:

$ node Wiki.js

 И как результат получить следующее количество ссылок:
webdriverjs-2

Первые две строчки инициализируют объект браузера и задают несколько настороек, например, какой браузер использовать. Начиная с вызова browser.get мы задаем функциональный код нашего теста:

  1. Сначала мы переходим на страницу википедии.
  2. Дальше мы используем CSS селектор, который находит элемент с атрибутом href и значением /wiki/ (находим внутренние страницы википедии).
  3. Оставаясь на линии кода шага №2, мы передаем CSS селектор в метод findElements, который асинхронно находит элементы, отвечающие заданному выражению.
  4. Дальше результат работы метода мы передаем функции callback-функции сетода then.
  5. Первый аргумент этой функции – массив искомых элементов (ссылок). Таким образом, мы выводим количество ссылок.
  6. И в самом конце закрываем браузер.

В следующем примере рассмотрим пример поиска в Google и переход на страницу результата поиска.

Запустите код:

$ node GoogleSearch.js

 webdriverjs-3

В тесте мы переходим на страницу поиска Google и ищем словосочетание “uefa site” и переходим по первой ссылке в результате поиска на запрашиваемый сайт.

Когда мы выполняли поиск WebDriver как можно быстрее пытается выполнить поиск элемента для перехода на страницу результата поиска. Понимание, где нужно подождать до нахождения элемента – важная часть в веб автоматизации.

Наиболее часто используют метод sleep. Довольно часто, например из-за медленного интернета или плохо написанного кода, автоматизаторы принуждают WebDriver подождать до появления элемента.

В нашем примере метод имеет два аргумента: первый – функция поиска ссылки, второй – максимальное время на ее выполнение.

Помимо многих методов по работе с DOM-элементами Вы может также использовать методы изменения состояния браузера. Ниже представлено несколько простых примеров:

  • Установка размера окна браузера:

  •  Подключение к браузеру через прокси:

Вы также можете изменят, удалять cookies, делать скриншоты и т.д., – все как и при работе с обычным Webdriver.