1. Предисловие
Инструмент веб-автоматизации Selenium поддерживает несколько языков, таких как Python, Java, Ruby, JavaScript и т. д. Большинство тестировщиков чаще всего используют Python и Java, а многие технические сообщества и онлайн-обучающие материалы очень удобны и просты в использовании. найди. Но для других языков, таких как JavaScript, ресурсов относительно меньше. Для JavaScript в этой статье будет представлена среда автоматизированного веб-тестирования и мобильного тестирования в среде Node.js — WebdriverIO.
2. Введение
WebdriverIO — это среда автоматизации тестирования для модульного и компонентного тестирования в e2e, а также в браузере. Она позволяет запускать тесты на основе технологий автоматизации WebDriver и WebDriver BiDi и Appium. Обеспечивает поддержку платформ тестирования BDD/TDD и запускает тесты локально или в облаке с помощью Sauce Labs, BrowserStack, TestingBot или LambdaTest.
WebdriverIO — это усовершенствованная среда автоматизации, предназначенная для автоматизации современных веб-приложений и мобильных приложений. Он упрощает взаимодействие с вашим приложением и предоставляет ряд подключаемых модулей, которые помогут вам создавать масштабируемые, надежные и стабильные наборы тестов.
Функции:
Вы можете использовать WebdriverIO для автоматизации:
Официальный сайт:
https://webdriver.io/
3. Установка
База кода содержит некоторые основные пакеты проекта WebdriverIO. Сообщество WebdriverIO собрало множество тщательно отобранных ресурсов.
Ниже перечислены некоторые типичные библиотеки кода.
1. Основной пакет:
webdriver - W3C WebDriver и мобильные устройства Реализация привязки Node.js протокола JSONWire.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/webdriver
webdriverio - Платформа следующего поколения для автоматизации тестирования браузеров и мобильных устройств для Node.js.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/webdriverio
@wdio/cli - WebdriverIO Интерфейс командной строки testrunner.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-cli
2. Пакет отчетов:
@wdio/allure-reporter - Плагин отчетов WebdriverIO для создания отчетов об испытаниях Allure.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-allure-reporter
@wdio/junit-reporter - Плагин отчетов WebdriverIO, который создает результаты тестов в формате XML.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-junit-reporter
3. Пакет услуг:
@wdio/appium-service - Служба WebdriverIO, используемая для запуска и остановки сервера Appium.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-appium-service
@wdio/lighthouse-service - Сервис WebdriverIO, интегрированный с Google Команда Lighthouse, чтобы использовать ее для автоматического тестирования.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-lighthouse-service
@wdio/firefox-profile-service - Служба WebdriverIO позволяет вам определять файлы конфигурации Firefox в wdio.conf.js.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-firefox-profile-service
4. Пакет рамы:
@wdio/cucumber-framework - Адаптер тестовой среды огурца.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-cucumber-framework
@wdio/jasmine-framework - Адаптер тестовой среды Jasmine.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-jasmine-framework
@wdio/mocha-framework - Адаптер тестовой среды mocha.
адрес гитхаба:
https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-mocha-framework
4. Приступайте к работе быстро
Установите основной пакет webdriverio
Этот пакет предоставляет простой в управлении API и обширный синтаксис, основанный на спецификации WebDriver. Вы можете использовать WebdriverIO как отдельный пакет или в качестве средства запуска тестов через @wdio/cli. WebdriverIO позволяет запускать тесты локально с помощью WebDriver или с помощью удаленного пользовательского агента через облачного провайдера, такого как Sauce Labs.
npm install webdriverio
По умолчанию WebdriverIO использует Puppeteer для автоматизации таких браузеров, как Chrome, Firefox или Chromium Edge.
Официальный пример: запустите браузер Chrome и получите заголовок страницы.
import { remote } from 'webdriverio'
const browser = await remote({
capabilities: { browserName: 'chrome' }
})
await browser.navigateTo('https://www.google.com/ncr')
const searchInput = await browser.$('#lst-ib')
await searchInput.setValue('WebdriverIO')
const searchBtn = await browser.$('input[value="Google Search"]')
await searchBtn.click()
console.log(await browser.getTitle()) // outputs "WebdriverIO - Google Search"
await browser.deleteSession()