خدمة Sauce
خدمة WebdriverIO التي توفر تكاملاً أفضل مع Sauce Labs. يمكن استخدام هذه الخدمة لـ:
- سحابة Sauce Labs للأجهزة الافتراضية (سطح المكتب/المحاكي/محاكي الجهاز)
- سحابة Sauce Labs للأجهزة الحقيقية (iOS و Android)
يمكنها تحديث بيانات الوظيفة التعريفية ('name'* و 'passed' و 'tags' و 'public' و 'build' و 'custom-data') وتشغيل Sauce Connect إذا كان مطلوبًا.
ماذا ستفعل هذه الخدمة أيضًا من أجلك:
- بشكل افتراضي، ستقوم خدمة Sauce بتحديث 'name' الوظيفة عند بدء الوظيفة. هذا سيعطيك خيار تحديث الاسم في أي وقت.
- يمكنك تحديد معلمة
setJobName
وتخصيص اسم الوظيفة وفقًا لقدراتك وخياراتك وعنوان المجموعة - ستقوم خدمة Sauce أيضًا بدفع مكدس الخطأ للاختبار الفاشل إلى علامة تبويب أوامر Sauce Labs
- ستسمح لك بتكوين وتشغيل Sauce Connect تلقائيًا
- وستضع نقاط سياق في قائمة الأوامر الخاصة بك لتحديد الأوامر التي تم تنفيذها في أي اختبار
التثبيت
الطريقة الأسهل هي الاحتفاظ بـ @wdio/sauce-service
كتبعية تطوير في ملف package.json
الخاص بك، عبر:
npm install @wdio/sauce-service --save-dev
يمكن العثور على تعليمات حول كيفية تثبيت WebdriverIO
هنا.
التكوين
لاستخدام الخدمة لسحابة الأجهزة الافتراضية/المحاكي/محاكي الجهاز وسحابة الأجهزة الحقيقية ، تحتاج إلى تعيين user
و key
في ملف wdio.conf.js
الخاص بك. سيستخدم تلقائيًا Sauce Labs لتشغيل اختبارات التكامل الخاصة بك. إذا كنت تقوم بتشغيل اختباراتك على Sauce Labs ، يمكنك تحديد المنطقة التي تريد تشغيل اختباراتك فيها عبر خاصية region
. العناوين المختصرة المتاحة للمناطق هي us
(افتراضي) و eu
. يتم استخدام هذه المناطق لسحابة Sauce Labs VM وسحابة الأجهزة الحقيقية Sauce Labs. إذا لم تقم بتوفير المنطقة، فإن القيمة الافتراضية هي us
.
إذا كنت تريد أن يقوم WebdriverIO تلقائيًا بإنشاء نفق Sauce Connect، فأنت بحاجة إلى تعيين sauceConnect: true
. إذا كنت ترغب في تغيير مركز البيانات إلى الاتحاد الأوروبي، أضف region:'eu'
حيث يتم تعيين مركز بيانات الولايات المتحدة كإعداد افتراضي.
// 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',
// ...
},
},
// ...
};