ब्राउज़रस्टैक सेवा
एक WebdriverIO सेवा जो BrowserStack उपयोगकर्ताओं के लिए स्थानीय टनल और जॉब मेटाडेटा को प्रबंधित करती है।
इंस्टालेशन
सबसे आसान तरीका है @wdio/browserstack-service
को अपने package.json
में devDependency के रूप में रखना:
npm install @wdio/browserstack-service --save-dev
WebdriverIO
को कैसे इंस्टॉल करें, इसके निर्देश यहां पाए जा सकते हैं।
कॉन्फिगरेशन
WebdriverIO में BrowserStack का समर्थन पहले से ही शामिल है। आपको अपनी wdio.conf.js
फ़ाइल में user
और key
सेट करनी चाहिए। यह सेवा प्लगइन BrowserStack Tunnel के लिए समर्थन प्रदान करता है। इस सुविधा को सक्रिय करने के लिए browserstackLocal: true
भी सेट करें।
BrowserStack पर सत्र की स्थिति की रिपोर्टिंग Cucumber विकल्पों की strict
सेटिंग का सम्मान करेगी।
// wdio.conf.js
export const config = {
// ...
user: process.env.BROWSERSTACK_USERNAME,
key: process.env.BROWSERSTACK_ACCESS_KEY,
services: [
['browserstack', {
testObservability: true,
testObservabilityOptions: {
projectName: "Your project name goes here",
buildName: "The static build job name goes here e.g. Nightly regression"
},
browserstackLocal: true
}]
],
// ...
};
विकल्प
BrowserStack सेवा के लिए अधिकृत होने के लिए आपके कॉन्फिग में user
और key
विकल्प होने चाहिए।
testObservability
टेस्ट ऑब्जर्वेबिलिटी एक उन्नत परीक्षण रिपोर्टिंग टूल है जो आपके स्वचालन परीक्षणों को बेहतर बनाने के लिए अंतर्दृष्टि प्रदान करता है और आपको तेजी से डीबग करने में मदद करता है। यह browserstack-service के सभी उपयोगकर्ताओं के लिए testObservability
फ़्लैग को true
के रूप में सेट करके डिफ़ॉल्ट रूप से सक्षम है। आप testObservability
फ़्लैग को false
पर सेट करके इसे अक्षम कर सकते हैं।
आपके परीक्षण समाप्त होने के बाद, आप अपने बिल्ड को अतिरिक्त अंतर्दृष्टि जैसे यूनिक एरर एनालिसिस, ऑटोमैटिक फ्लेकी टेस्ट डिटेक्शन, और अधिक के साथ डीबग करने के लिए Test Observability पर जा सकते हैं।
आप टेस्ट ऑब्जर्वेबिलिटी का उपयोग तब भी कर सकते हैं जब आप अपने परीक्षण BrowserStack इंफ्रास्ट्रक्चर पर नहीं चलाते हैं। यहां तक कि अगर आप अपने परीक्षण CI पर, एक स्थानीय मशीन पर, या यहां तक कि अन्य क्लाउड सेवा प्रदाताओं पर चलाते हैं, टेस्ट ऑब्जर्वेबिलिटी फिर भी आपके परीक्षणों पर इंटेलिजेंट टेस्ट रिपोर्ट और उन्नत एनालिटिक्स उत्पन्न कर सकता है।
यदि आप BrowserStack इंफ्रास्ट्रक्चर पर अपने परीक्षण चलाए बिना टेस्ट ऑब्जर्वेबिलिटी का उपयोग करना चाहते हैं, तो आप अपने कॉन्फिग को इस प्रकार सेट कर सकते हैं:
// wdio.conf.js
export const config = {
// ...
services: [
['browserstack', {
testObservability: true,
testObservabilityOptions: {
user: process.env.BROWSERSTACK_USERNAME,
key: process.env.BROWSERSTACK_ACCESS_KEY,
projectName: "Your project name goes here",
buildName: "The static build job name goes here e.g. Nightly regression"
}
}]
],
// ...
};
आप टेस्ट ऑब्जर्वेबिलिटी की सभी सुविधाओं का इस सैंडबॉक्स में पता लगा सकते हैं या इसके बारे में अधिक यहां पढ़ सकते हैं।
browserstackLocal
BrowserStack क्लाउड से कनेक्शन को आपके कंप्यूटर के माध्यम से रूट करने के लिए इसे true पर सेट करें।
प्रकार: Boolean
डिफ़ॉल्ट: false
forcedStop
BrowserStack Local कॉलबैक का इंतजार किए बिना, BrowserStack Local प्रक्रिया को पूरा होने पर मारने के लिए इसे true पर सेट करें। यह प्रयोगात्मक है और सभी के द्वारा उपयोग नहीं किया जाना चाहिए। मुख्य रूप से इस समस्या के लिए एक वर्कअराउंड के रूप में आवश्यक है।
प्रकार: Boolean
डिफ़ॉल्ट: false
app
Appium इसे अपनी मशीन पर स्थानीय रूप से उपलब्ध ऐप फ़ाइल पथ के साथ सेट करें ताकि ऐप को Appium सत्रों के लिए परीक्षण के तहत एप्लिकेशन के रूप में उपयोग किया जा सके।
प्रकार: String
या JsonObject
डिफ़ॉल्ट: undefined
उपलब्ध ऐप मूल्यों की सूची:
path
Appium के लिए स्थानीय रूप से उपलब्ध ऐप फ़ाइल पथ को परीक्षण के तहत एप्लिकेशन के रूप में उपयोग करें।
services: [
['browserstack', {
app: '/path/to/local/app.apk'
// OR
app: {
path: '/path/to/local/app.apk'
}
}]
]
ऐप अपलोड करते समय custom_id पास करें।
services: [
['browserstack', {
app: {
path: '/path/to/local/app.apk',
custom_id: 'custom_id'
}
}]
]
id
ऐप को BrowserStack पर अपलोड करने के बाद वापस किए गए ऐप URL का उपयोग करें।
services: [
['browserstack', {
app: 'bs://<app-id>'
// OR
app: {
id: 'bs://<app-id>'
}
}]
]
custom_id
पहले से अपलोड किए गए ऐप्स के custom_id का उपयोग करें
services: [
['browserstack', {
app: 'custom_id'
// OR
app: {
custom_id: 'custom_id'
}
}]
]
shareable_id
पहले से अपलोड किए गए ऐप्स के shareable_id का उपयोग करें
services: [
['browserstack', {
app: 'username/custom_id'
// OR
app: {
shareable_id: 'username/custom_id'
}
}]
]
preferScenarioName
केवल Cucumber। यदि केवल एक Scenario चला है तो BrowserStack Automate सत्र नाम को Scenario नाम पर सेट करें। wdio-cucumber-parallel-execution के साथ समानांतर में चलते समय उपयोगी है।
प्रकार: Boolean
डिफ़ॉल्ट: false
sessionNameFormat
BrowserStack Automate सत्र नाम प्रारूप को अनुकूलित करें।
प ्रकार: Function
डिफ़ॉल्ट (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
डिफ़ॉल्ट (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle
sessionNameOmitTestTitle
केवल Mocha। BrowserStack Automate सत्र नाम में परीक्षण शीर्षक न जोड़ें।
प्रकार: Boolean
डिफ़ॉल्ट: false
sessionNamePrependTopLevelSuiteTitle
केवल Mocha। BrowserStack Automate सत्र नाम में शीर्ष स्तरीय सूट शीर्षक को आगे जोड़ें।
प्रकार: Boolean
डिफ़ॉल्ट: false
setSessionName
स्वचालित रूप से BrowserStack Automate सत्र नाम सेट करें।
प्रकार: Boolean
डिफ़ॉल्ट: true
setSessionStatus
स्वचालित रूप से BrowserStack Automate सत्र स्थिति (पास/फेल) सेट करें।
प्रकार: Boolean
डिफ़ॉल्ट: true
buildIdentifier
buildIdentifier एक अद्वितीय आईडी है जो प्रत्येक निष्पादन को अलग करने के लिए buildName के साथ जुड़ जाता है। उपलब्ध अभिव्यक्तियों से अपना buildIdentifier प्रारूप चुनें:
BUILD_NUMBER
: प्रत्येक निष्पादन के साथ एक क्रमिक काउंटर जनरेट करता हैDATE_TIME
: प्रत्येक निष्पादन के साथ एक टाइमस्टैम्प जनरेट करता है। उदा. 05-Nov-19:30
services: [
['browserstack', {
buildIdentifier: '#${BUILD_NUMBER}'
}]
]
बिल्ड आइडेंटिफायर किसी भी अन्य वर्णों के साथ-साथ दोनों या किसी एक अभिव्यक्ति के उपयोग का समर्थन करता है जिससे कस्टम फॉर्मेटिंग विकल्प सक्षम होते हैं।
opts
BrowserStack Local विकल्प।
प्रकार: Object
डिफ़ॉल्ट: {}
opts के रूप में पास किए जाने वाले उपलब्ध स्थानीय परीक्षण संशोधकों की सूची:
Local Identifier
यदि एक साथ कई स्थानीय परीक्षण कनेक्शन कर रहे हैं, तो इसे अलग-अलग प्रक्रियाओं के लिए अद्वितीय रूप से सेट करें -
opts = { localIdentifier: "randomstring" };
Verbose Logging
वर्बोज लॉगिंग सक्षम करने के लिए -
opts = { verbose: "true" };
नोट - 'verbose' संशोधक के लिए संभावित मान '1', '2', '3' और 'true' हैं
Force Local
सभी ट्रैफिक को स्थानीय (आपकी) मशीन के माध्यम से रूट करने के लिए -
opts = { forceLocal: "true" };
Folder Testing
आंतरिक सर्वर के बजाय स्थानीय फ़ोल्डर का परीक्षण करने के लिए, इस विकल्प के मूल्य के रूप में फ़ोल्डर का पथ प्रदान करें -
opts = { f: "/my/awesome/folder" };
Force Start
अन्य चल रहे BrowserStack Local इंस्टेंस को मारने के लिए -
opts = { force: "true" };