TestingBot — это облачная платформа для автоматизированного тестирования веб-приложений и мобильных интерфейсов. Она предоставляет доступ к широкому набору браузеров, операционных систем и мобильных устройств, что позволяет запускать тесты в условиях, максимально приближенных к реальной эксплуатации. Интеграция с WebdriverIO обеспечивает удобное управление тестами и гибкость в настройке окружения.
Для интеграции необходимо установить WebdriverIO и настроить конфигурацию для удаленного подключения к TestingBot. Основные шаги включают:
npm install @wdio/cli @wdio/local-runner @wdio/mocha-framework @wdio/sync webdriverio
wdio.conf.js:exports.config = {
user: process.env.TESTINGBOT_KEY,
key: process.env.TESTINGBOT_SECRET,
services: ['testingbot'],
runner: 'local',
specs: ['./test/specs/**/*.js'],
capabilities: [{
browserName: 'chrome',
version: 'latest',
platform: 'WIN10',
name: 'WebdriverIO Test'
}],
logLevel: 'info',
framework: 'mocha',
mochaOpts: {
ui: 'bdd',
timeout: 60000
}
};
user и key — данные
учетной записи TestingBot. Рекомендуется хранить их в переменных
окружения.capabilities — описание окружения для
запуска тестов. Можно задавать различные комбинации браузеров и платформ
для параллельного тестирования.TestingBot позволяет запускать несколько сессий одновременно, что
значительно сокращает время тестирования. В WebdriverIO для этого
используется параметр maxInstances:
capabilities: [{
browserName: 'chrome',
maxInstances: 5,
version: 'latest',
platform: 'WIN10',
}]
Каждый инстанс запускается в отдельной виртуальной среде TestingBot. Логи и видео каждой сессии доступны через панель управления платформы.
TestingBot автоматически собирает информацию о выполнении тестов:
Пример включения Allure отчетности:
exports.config = {
reporters: ['spec', ['allure', {
outputDir: 'allure-results',
disableWebdriverStepsReporting: false,
disableWebdriverScreenshotsReporting: false,
}]]
};
TestingBot поддерживает эмуляцию различных сетевых условий и
географических регионов. В capabilities можно указать:
capabilities: [{
browserName: 'chrome',
network: '3G', // эмуляция медленного соединения
location: 'US', // геолокация для тестирования региональных особенностей
}]
Это особенно полезно для проверки производительности и адаптивности веб-приложений.
TestingBot легко интегрируется с системами непрерывной интеграции:
TestingBot предоставляет REST API для получения информации о сессиях, статусе тестов и видео. Пример запроса для получения информации о последней сессии:
curl -u "KEY:SECRET" https://api.testingbot.com/v1/tests
В WebdriverIO можно комбинировать это с хуками, чтобы автоматически выгружать отчеты после завершения тестов:
onComplete: function(exitCode, config, capabilities, results) {
console.log('Тестирование завершено, можно выгружать видео и логи через API');
}
waitForExist, waitForDisplayed) вместо
статических задержек.TestingBot обеспечивает гибкую и масштабируемую платформу для WebdriverIO-тестирования, позволяя автоматизировать проверку веб-приложений в условиях максимально приближенных к реальной эксплуатации, с удобным управлением сессиями, логами и видео.