Сервіс спільного сховища
Обмін даними між головним процесом та робочими процесами (специфікаціями).
Встановлення
Найпростіший спосіб - зберегти @wdio/shared-store-service
як dev-залежність у вашому package.json
, через:
npm install @wdio/shared-store-service --save-dev
Інструкції щодо встановлення WebdriverIO
можна знайти тут.
Використання
Отримуйте/встановлюйте значення (простий об'єкт) до/зі сховища за ключем (рядком). Ключ може бути будь-яким довільним рядком, окрім *
, який зарезервований, оскільки дозволяє отримати все сховище.
Встановлення значень
Щоб встановити значення у сховище, викличте:
await browser.sharedStore.set('key', 'foobar123')
Отримання значень
Щоб отримати значення зі сховища, викличте:
const value = await browser.sharedStore.get('key')
console.log(value) // повертає "foobar123"
Ви також можете отримати всі значення ключів, використовуючи ключ *
:
const store = await browser.sharedStore.get('*')
console.log(value) // повертає `{ key: "foobar" }`
Доступ до сховища в WDIO хуках
Ви також можете безпосередньо отримати доступ до асинхронних обробників setValue
та getValue
.
Переконайтеся, що правильно викликаєте їх з ключовим словом await
.
// wdio.conf.js
import { setValue, getValue } from '@wdio/shared-store-service'
export const config = {
// ...
onPrepare: [async function (config, capabilities) {
await setValue('foo', 'bar')
}],
// ...
after: async () => {
const value = await getValue('foo')
// ...
}
ВАЖЛИВО! Кожен файл специфікації повинен бути атомарним та ізольованим від інших специфікацій. Ідея сервісу полягає в роботі з дуже специфічними проблемами налаштування середовища. Будь ласка, уникайте спільного використання даних тестового виконання!