Начало работы с JavaScript, Selenium и Mocha!
В этой статье мы будем использовать мокко и селен для написания тестов для веб -приложений. Это будет стартовый проект, на котором мы можем создать для различных проектов и в будущих статьях.
Требования
Вот требования, прежде чем мы начнем:
- Nodejs (Время выполнения JavaScript)
- Языковые привязки селена Javascript (Но мы будем использовать NPM, чтобы захватить их)
- Mochajs (Мокко – это тестовая структура JS)
- Chaijs (Чай – библиотека утверждений)
- Любые установленные браузеры, которые вы хотите протестировать Поддерживаемые платформы
Селен подготовка
Если вы не читали мой быстрый Обзор селена Вы должны сделать это сейчас. Селену понадобится несколько вещей, настроенных, прежде чем он сделает свою волшебство!
Учебник Nodejs
Если вы не знакомы с Nodejs, я рекомендую этот учебник, чтобы вы начали: Nodehero Анкет Он упакован с полезной информацией. Это хороший ресурс, чтобы оставаться открытым на вкладке во время работы по этому посту.
Создать проект
Чтобы начать вещи, нам понадобится новый проект. Используя командную строку или исследователя, нам нужно создать новую папку для нашего проекта. Как только у нас есть папка, мы сможем использовать командную строку, чтобы начать установку пакетов, которые нам понадобятся.
Инициализация проекта
Nodejs поставляется со своим собственным менеджером пакетов: NPM. Он также используется для инициализации проекта. Запустите следующую команду и заполните в каждом разделе: npm init Анкет Это создаст Package.json файл. Этот файл отслеживает зависимости и информацию проекта.
Установка пакетов
NPM также отвечает за установку пакетов. Команда для установки пакета – NPM Install Анкет Нам нужно установить селен, мокко и чай.
npm установить селен-вебдривер-сальNPM Установите мокко -сальnpm установить чай -саль
Они будут установлены в node_modules Папка и отслеживается в нашем Package.json файл.
Вот как выглядит наша структура папок:
Теперь мы можем написать наш первый тест и использовать наши установленные пакеты! Вот как должен выглядеть файл package.json в этот момент:
{
"name": "selenium-js-mocha",
"version": "1.0.0",
"description": "A project to go along with blog posts explaining how to get started with functional testing using Selenium, JavaScript and Mocha. ",
"main": "test1.js",
"dependencies": {
"chai": "^3.5.0",
"mocha": "^2.5.3",
"selenium-webdriver": "^2.53.2"
},
"devDependencies": {},
"scripts": {
"test": "mocha test1.js"
},
"author": "Stephen Cavender",
"license": "ISC"
}
Напишите тест
Мы напишем наш тест против Интернет 1 Анкет
Давайте создадим новый файл JS в нашей папке проекта: я создаю test1.js.
// Load dependecies
var assert = require('chai').assert,
test = require('selenium-webdriver/testing'),
webdriver = require('selenium-webdriver');
// Our test
test.describe('Test', function () {
test.it('Title should be "The Internet"', function () {
// Set timeout to 10 seconds
this.timeout(10000);
// Get driver
// var driver = new webdriver.Builder().
// withCapabilities(webdriver.Capabilities.firefox()).
// build();
// var driver = new webdriver.Builder().
// withCapabilities(webdriver.Capabilities.edge()).
// build();
// var driver = new webdriver.Builder().
// withCapabilities(webdriver.Capabilities.ie()).
// build();
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();
// Go to URL
driver.get('http://the-internet.herokuapp.com');
// Find title and assert
driver.executeScript('return document.title').then(function(return_value) {
assert.equal(return_value, 'The Internet')
});
// Quit webdriver
driver.quit();
});
});
- Зависимости нагрузки
- Создать тест
- Установите тайм -аут (тестовые запуска слишком быстро и терпят неудачу без увеличения тайм -аута)
- Получите веб -драйвер
- Установите свойство URL (говорит водителю перейти на этот URL)
- Утвердить в заголовке водителя
- Распоряжаться водителем
Запустить тест
Теперь, когда у нас есть функциональный тест, мы можем запустить его. Сохраните тестовый файл и давайте возьмем нашу командную строку. Чтобы запустить тесты, мы называем команду MOCHA и наш тестовый файл.
Mocha test1.js
Запустите это в командной строке, и мы должны увидеть наш тестовый запуск, и командная строка сообщит нам результат теста. Если Package.json Настроен с тестовым скриптом, мы также можем запустить наш тест, вызвав тестовый скрипт NPM.
NPM Тест
Вот как командная строка отображает наш тестовый запуск:
И вот как Bash отображает наш тестовый запуск:
Это основной и хрупкий пример того, как работает селен. Мы рассмотрим гораздо лучший подход к тестированию в более позднем посте, чтобы избежать таких вещей! Это не является примером лучших практик ни в коем случае. Это для того, чтобы получить вам рабочий пример селена. Следите за новостями о том, как использовать Selenium, лучшие практики для автоматизации тестов и видеоуроков!
Спасибо за чтение! Обязательно поделитесь этим постом, если вы нашли его полезным и не стесняйтесь поговорить со мной об этом!
Кредит Дэйв Хаффнер Анкет ↩
Первоначально опубликовано в Cavender.dev
Оригинал: “https://dev.to/stephencavender/javascript-selenium-mocha-quickstart-guide-5a5k”