Тестові фреймворки
WebdriverIO Runner has built-in support for Mocha, Jasmine, and Cucumber.js. You can also integrate it with 3rd-party open-source frameworks, such as Serenity/JS.
To integrate WebdriverIO with a test framework, you need an adapter package available on NPM. Note that the adapter package must be installed in the same location where WebdriverIO is installed. Отже, якщо ви встановили WebdriverIO глобально, обов’язково встановіть глобально і пакунок-адаптер.
Integrating WebdriverIO with a test framework lets you access the WebDriver instance using the global browser
variable in your spec files or step definitions. Note that WebdriverIO will also take care of instantiating and ending the Selenium session, so you don't have to do it yourself.
Використання із Mocha
Спочатку встановіть пакунок-адаптер із NPM:
- npm
- Yarn
- pnpm
npm install @wdio/mocha-framework --save-dev
yarn add @wdio/mocha-framework --dev
pnpm add @wdio/mocha-framework --save-dev
За замовчуванням WebdriverIO постачається із вбудованою бібліотекою перевірок, яку ви можете використовувати у ваших тестах:
describe('my awesome website', () => {
it('should do some assertions', async () => {
await browser.url('https://webdriver.io')
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js | WebdriverIO')
})
})
WebdriverIO підтримує такі інтерфейси Mocha: BDD
(за замовчуванням), TDD
і QUnit
.
Якщо ви хочете описувати свої тести стилі TDD стилі, встановіть значення tdd
для властивості ui
, що в об'єкті mochaOpts
у вашому файлі конфігурацій. Тепер ваші файли із тестами можуть містити наступне:
suite('my awesome website', () => {
test('should do some assertions', async () => {
await browser.url('https://webdriver.io')
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js | WebdriverIO')
})
})
Якщо ви хочете визначити й інші налаштування Mocha, ви можете додати їх до об'єкта mochaOpts
у файлі конфігурації. Список усіх варіантів можна знайти на вебсайті фреймворку Mocha.
Примітка: WebdriverIO не підтримує застарілий метод зворотного виклику done
у Mocha:
it('should test something', (done) => {
done() // throws "done is not a function"
})
Параметри Mocha
Наступні параметри можна застосувати у вашому wdio.conf.js
для налаштування середовища Mocha. Примітка: не всі параметри підтримуються, наприклад, застосування параметра parallel
призведе до помилки, оскільки виконувач тестів WDIO має власний механізм паралельного запуску тестів. Підтримуються такі параметри:
require
Параметр require
корисний, коли ви хочете додати або розширити деякі вбудовані функції (WebdriverIO параметр).
Type: string|string[]
Default: []
compilers
Використовуйте вказаний(і) модуль(і) для компіляції файлів. Компілятори будуть підключені раніше, ніж require
(WebdriverIO параметр).
Type: string[]
Default: []