सॉस सर्विस
WebdriverIO सेवा जो Sauce Labs के साथ बेहतर एकीकरण प्रदान करती है। इस सेवा का उपयोग इसके लिए किया जा सकता है:
- Sauce Labs वर्चुअल मशीन क्लाउड (डेस्कटॉप वेब/एम्युलेटर/सिम्युलेटर)
- Sauce Labs रियल डिवाइस क्लाउड (iOS और Android)
यह जॉब मेटाडेटा ('name'*, 'passed', 'tags', 'public', 'build', 'custom-data') को अपडेट कर सकता है और यदि आवश्यक हो तो Sauce Connect चलाता है।
यह सेवा आपके लिए और क्या करेगी:
- डिफ़ॉल्ट रूप से, Sauce Service जॉब शुरू होने पर जॉब का 'name' अपडेट क रेगी। यह आपको किसी भी समय पर नाम अपडेट करने का विकल्प देगा।
- आप
setJobName
पैरामीटर परिभाषित कर सकते हैं और अपनी क्षमताओं, विकल्पों और सूट शीर्षक के अनुसार जॉब नाम को अनुकूलित कर सकते हैं - Sauce Service विफल परीक्षण के त्रुटि स्टैक को Sauce Labs कमांड्स टैब में पुश करेगी
- यह आपको Sauce Connect को स्वचालित रूप से कॉन्फ़िगर करने और शुरू करने की अनुमति देगा
- और यह आपकी कमांड सूची में कॉन्टेक्स्ट पॉइंट्स सेट करेगी ताकि पहचाना जा सके कि कौन से कमांड किस टेस्ट में निष्पादित किए गए थे
इंस्टालेशन
सबसे आसान तरीका है @wdio/sauce-service
को आपके package.json
में devDependency के रूप में रखना:
npm install @wdio/sauce-service --save-dev
WebdriverIO
को कैसे इंस्टॉल करें, इसके निर्देश यहां मिल सकते हैं।
कॉन्फिगरेशन
वर्चुअल डेस्कटॉप/एम्युलेटर/सिम्युलेटर मशीन और रियल डिवाइस क्लाउड के लिए सेवा का उपयोग करने के लिए आपको अपनी wdio.conf.js
फ़ाइल में user
और key
सेट करने की आवश्यकता है। यह स्वचालित रूप से आपके इंटीग्रेशन टेस्ट चलाने के लिए Sauce Labs का उपयोग करेगा। यदि आप अपने टेस्ट Sauce Labs पर चलाते हैं, तो आप region
प्रॉपर्टी के माध्यम से उस क्षेत्र को निर्दिष्ट कर सकते हैं जहां आप अपने टेस्ट चलाना चाहते हैं। क्षेत्रों के लिए उपलब्ध संक्षिप्त हैंडल us
(डिफ़ॉल्ट) और eu
हैं। ये क्षेत्र Sauce Labs VM क्लाउड और Sauce Labs रियल डिवाइस क्लाउड के लिए उपयोग किए जाते हैं। यदि आप क्षेत्र प्रदान नहीं करते हैं, तो यह डिफ़ॉल्ट रूप से us
होता है।
यदि आप चाहते हैं कि WebdriverIO स्वचालित रूप से Sauce Connect टनल स्पिन अप करे, तो आपको sauceConnect: true
सेट करने की आवश्यकता है। यदि आप डेटा सेंटर को EU में बदलना चाहते हैं, तो region:'eu'
जोड़ें क्योंकि US डेटा सेंटर डिफ़ॉल्ट रूप से सेट है।
// wdio.conf.js
export const config = {
// ...
user: process.env.SAUCE_USERNAME,
key: process.env.SAUCE_ACCESS_KEY,
region: 'us', // or 'eu'
services: [
['sauce', {
sauceConnect: true,
sauceConnectOpts: {
// ...
}
}]
],
// ...
};
यदि आप एक मौजूदा Sauce Connect टनल का उपयोग करना चाहते हैं, तो आपको केवल एक tunnelName
प्रदान करने की आवश्यकता है। यदि आप एक साझा टनल का उपयोग कर रहे हैं, और आप वह उपयोगकर्ता नहीं हैं जिसने टनल बनाया था, तो आपको अपने परीक्षण के लिए इसका उपयोग करने के लिए उस Sauce Labs उपयोगकर्ता की पहचान करनी होगी जिसने टनल बनाया था। क्षमताओं में tunnelOwner
को इस प्रकार शामिल करें:
- Tunnel Name
- Tunnel Owner
export const config = {
// ...
{
browserName: 'chrome',
platformName: 'Windows 10',
browserVersion: 'latest',
// Sauce options can be found here https://docs.saucelabs.com/dev/test-configuration-options/
'sauce:options': {
tunnelName: 'YourTunnelName',
// Example options
build: 'your-build-name',
screenResolution: '1600x1200',
// ...
},
},
// ...
};
export const config = {
// ...
{
browserName: 'chrome',
platformName: 'Windows 10',
browserVersion: 'latest',
// Sauce options can be found here https://docs.saucelabs.com/dev/test-configuration-options/
'sauce:options': {
tunnelName: 'TunnelName',
tunnelOwner: '<username of owner>,
// Example options
build: 'your-build-name',
screenResolution: '1600x1200',
// ...
},
},
// ...
};
Sauce सर्विस विकल्प
Sauce Labs सेवा को अधिकृत करने के लिए आप के कॉन्फिग में user
और key
विकल्प होने चाहिए।
maxErrorStackLength
यह सेवा स्वचालित रूप से त्रुटि स्टैक को Sauce Labs में पुश करेगी जब कोई परीक्षण विफल होता है। डिफ़ॉल्ट रूप से, यह केवल पहली 5 लाइनें पुश करेगी, लेकिन यदि आवश्यक हो तो इसे बदला जा सकता है। ध्यान रखें कि अधिक लाइनों के परिणामस्वरूप अधिक WebDriver कॉल होंगे जो निष्पादन को धीमा कर सकते हैं।
प्रकार: number
डिफ़ॉल्ट: 5
sauceConnect
यदि true
है तो यह Sauce Connect चलाता है और आपके ब्राउज़र परीक्षणों को चलाने वाले Sauce Labs वर्चुअल मशीन के बीच एक सुरक्षित कनेक्शन खोलता है।