خدمة براوزرستاك
خدمة WebdriverIO تدير النفق المحلي وبيانات الوصف للوظائف لمستخدمي BrowserStack.
التثبيت
الطريقة الأسهل هي الاحتفاظ بـ @wdio/browserstack-service كـ devDependency في ملف package.json الخاص بك، عبر:
npm install @wdio/browserstack-service --save-dev
يمكن العثور على تعليمات حول كيفية تثبيت WebdriverIO هنا.
التكوين
يدعم WebdriverIO خدمة BrowserStack بشكل افتراضي. يجب عليك تعيين user و key في ملف wdio.conf.js الخاص بك. توفر هذه الخدمة الإضافية دعمًا لـ BrowserStack Tunnel. قم بتعيين browserstackLocal: true أيضًا لتفعيل هذه الميزة.
سيحترم تقرير حالة الجلسة على BrowserStack إعداد strict لخيارات Cucumber.
// 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
مراقبة الاختبار هي أداة متقدمة لتقارير الاختبار توفر رؤى لتحسين اختبارات الأتمتة الخاصة بك وتساعدك على تصحيح الأخطاء بشكل أسرع. يتم تمكينها افتراضيًا عن طريق تعيين علامة testObservability كـ true لجميع مستخدمي خدمة browserstack. يمكنك تعطيل هذا عن طريق تعيين علامة testObservability إلى false.
بمجرد انتهاء اختباراتك، يمكنك زيارة Test Observability لتصحيح الأخطاء في عمليات البناء الخاصة بك مع رؤى إضافية مثل تحليل الأخطاء الفريدة، واكتشاف اختبارات الخلل التلقائي، والمزيد.
يمكنك استخدام Test Observability حتى إذا لم تقم بتشغيل اختباراتك على بنية BrowserStack. حتى إذا قمت بتشغيل اختباراتك على CI، أو جهاز محلي، أو حتى على مزودي خدمة سحابية أخرى، فلا يزال بإمكان Test Observability إنشاء تقارير اختبار ذكية وتحليلات متقدمة لاختباراتك.
إذا كنت ترغب في استخدام Test Observability دون تشغيل اختباراتك على بنية 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"
            }
        }]
    ],
    // ...
};
يمكنك استكشاف جميع ميزات Test Observability في هذه البيئة التجريبية أو قراءة المزيد عنها هنا.
browserstackLocal
قم بتعيين هذا إلى true لتمكين توجيه الاتصالات من سحابة BrowserStack عبر جهاز الكمبيوتر الخاص بك.
النوع: Boolean
الافتراضي: false
forcedStop
قم بتعيين هذا إلى true لإنهاء عملية BrowserStack Local عند الانتهاء، دون انتظار استدعاء إيقاف BrowserStack Local. هذا تجريبي ويجب ألا يستخدم من قبل الجميع. ضروري في الغالب كحل بديل لـ هذه المشكلة.
النوع: 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
استخدم عنوان URL للتطبيق الذي تم إرجاعه بعد رفع التطبيق إلى BrowserStack.
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. قم بتعيين اسم جلسة BrowserStack Automate إلى اسم السيناريو إذا تم تشغيل سيناريو واحد فقط. مفيد عند التشغيل بالتوازي مع 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