शेयर्ड स्टोर सर्विस
मुख्य प्रोसेस और वर्कर्स (स्पेक्स) के बीच डेटा का आदान-प्रदान करें।
इंस्टालेशन
सबसे आसान तरीका है @wdio/shared-store-service
को आपके package.json
में एक dev dependency के रूप में रखना, इसके माध्यम से:
npm install @wdio/shared-store-service --save-dev
WebdriverIO
को कैसे इंस्टॉल करें इसके निर्देश यहां मिल सकते हैं।
उपयोग
key (string) द्वारा स्टोर से/में एक वैल्यू (एक सादा ऑब्जेक्ट) प्राप्त/सेट करें। key कोई भी मनमाना स्ट्रिंग हो सकता है सिवाय *
के जो आरक्षित है क्योंकि यह आपको पूरा स्टोर फेच करने की अनुमति देता है।
वैल्यू सेट करना
स्टोर में वैल्यू सेट करने के लिए कॉल करें:
await browser.sharedStore.set('key', 'foobar123')
वैल्यू प्राप्त करना
स्टोर से वैल्यू प्राप्त करने के लिए कॉल करें:
const value = await browser.sharedStore.get('key')
console.log(value) // "foobar123" रिटर्न करता है
आप *
key का उपयोग करके सभी key वैल्यू भी फेच कर सकते हैं:
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')
// ...
}
महत्वपूर्ण! प्रत्येक स्पेक फाइल अन्य स्पेक्स से परमाणविक और अलग होनी चाहिए। सेवा का विचार बहुत विशिष्ट पर्यावरण सेटअप मुद्दों से निपटने का है। कृपया टेस्ट एक्जीक्यूशन डेटा साझा करने से बचें!