Этот пост рассказывает о том, как использовать Селен-Webdriver
Чтобы автоматизировать браузер Chrome для тестирования автоматизации веб-пользовательского интерфейса.
Это 7-й пост в серии, Тест на автоматизацию BDD для веб-пользовательского интерфейса Отказ В основном он говорит о том, как написать сценарий тестирования веб-автоматизации с помощью CuCumber.js, BDD-тестовой структуры. Вы будете использовать Node.js в качестве языка программирования. Начните с этого поста, мы сосредоточимся на библиотеке автоматизации, в основном Селен-Webdriver
а также некоторые другие библиотеки.
Подготовка
- Установить Node.js.
- Скачать последнюю версию Chrome
Шаги
- Создайте новый каталог, локально используйте следующую команду, названную его как «Chrometsest», или какое-то что-то подобное.
$ mkdir chrometest
Примечание: между Mac и Windows есть некоторая разница между Mac и Windows. Например, создать каталог, Мкдир
используется на Mac, пока MD
на окнах.
- Перейдите в каталог «Chrometsest» и выполните
NPM init -y
создать новый проект.-Я
означает принятие всех настроек по умолчанию:
$ cd chrometest/ $ npm init -y
NPM выводит следующее:
Wrote to C:\temp\chrometest\package.json: { "name": "chrometest", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
- Установите пакеты «Selenium-WebDriver» и «Chromedriver», со следующей командой:
npm install selenium-webdriver chromedriver --save
«–save» или «-S» – сохранить конфигурацию пакетов в файле «Package.json» после загрузки. Так что в следующий раз, когда вы или кто-то еще потяните код в другие папки, просто нужно запустить NPM установить
В папке для переустановки все пакеты зависимости.
Примечание. Если вы находитесь за брандмауэром, вы можете запустить следующую команду для настройки прокси для Node.js перед запуском NPM:
set http_proxy=http://:
- Создайте новый файл сценария «index.js» (или используйте имя, которое вам нравится), чтобы написать код:
// use selenium-webdriver const webDriver = require('selenium-webdriver'); //to load chrome driver require('chromedriver'); let By = webDriver.By; // open chrome browser let driver = new webDriver.Builder().forBrowser('chrome').build(); (async function () { await driver.get('https://www.bing.com'); await driver.findElement(By.id('sb_form_q')).sendKeys('Disneyland'); await driver.findElement(By.id('sb_form_go')).click(); })();
Он откроет браузер Chrome и искать ключевое слово «Диснейленд». Для получения дополнительной информации о API Selenium-Webdriver перейдите в https://seleniumhq.github.io/selenium/docs/api/javascript/ Отказ
By.id
Используется для того, чтобы рассказать «Findelement» для поиска элементов, используя свойство «ID», вы можете использовать другую форму свойства, например, ниже:
await driver.findElement({id:'sb_form_q'}).sendKeys('Disneyland'); await driver.findElement({id:'sb_form_go'}).click();
Запускать скрипт
Запустите команду ниже, чтобы запустить скрипт, вы должны увидеть браузер Chrome автоматически открываться и навигации к домашней странице Bing, а затем искать ключевое слово в поисках Bing.
node index.js
Или вы также можете запустить его внутри Cuketest:
- Откройте папку «Cрометрия» с Cuketest ,
- Откройте файл «index.js» в редакторе Cuketest и нажмите кнопку со стрелкой «Запустить сценарий»:
Преимущество в том, что у вас будет Intelli-Sense для библиотеки автоматизации, и не нужно переключаться между командной строкой и редактором.
В следующем посте мы поговорим о инструменте разработки Chrome.
Предыдущий пост: 06. Создать сценарий огурца с правильным инструментом Первый пост: 01. Создать и запустить первый образец