انتقل إلى المحتوى الرئيسي

لتطبيقات الويب

دمج اختبارات WebdriverIO الخاصة بك مع Percy

قبل التكامل، يمكنك استكشاف برنامج تعليمي لبناء عينة Percy لـ WebdriverIO. قم بدمج اختبارات WebdriverIO الآلية مع BrowserStack Percy وإليك نظرة عامة على خطوات التكامل:

الخطوة 1: إنشاء مشروع Percy

قم بتسجيل الدخول إلى Percy. في Percy، أنشئ مشروعًا من النوع، ويب، ثم قم بتسمية المشروع. بعد إنشاء المشروع، يقوم Percy بإنشاء رمز. دوّنه. يجب عليك استخدامه لتعيين متغير البيئة الخاص بك في الخطوة التالية.

للحصول على تفاصيل حول إنشاء مشروع، راجع إنشاء مشروع Percy.

الخطوة 2: تعيين رمز المشروع كمتغير بيئة

قم بتشغيل الأمر المعطى لتعيين PERCY_TOKEN كمتغير بيئة:

export PERCY_TOKEN="<your token here>"   // macOS or Linux
$Env:PERCY_TOKEN="<your token here>" // Windows PowerShell
set PERCY_TOKEN="<your token here>" // Windows CMD

الخطوة 3: تثبيت تبعيات Percy

قم بتثبيت المكونات المطلوبة لإنشاء بيئة التكامل لمجموعة الاختبار الخاصة بك.

لتثبيت التبعيات، قم بتشغيل الأمر التالي:

npm install --save-dev @percy/cli @percy/webdriverio

الخطوة 4: تحديث سكريبت الاختبار الخاص بك

استورد مكتبة Percy لاستخدام الطريقة والسمات المطلوبة لأخذ لقطات الشاشة. يستخدم المثال التالي وظيفة percySnapshot() في الوضع المتزامن:

import percySnapshot from '@percy/webdriverio';
describe('webdriver.io page', () => {
it('should have the right title', async () => {
await browser.url('https://webdriver.io');
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js');
await percySnapshot('webdriver.io page');
});
});

عند استخدام WebdriverIO في الوضع المستقل، قدم كائن المتصفح كوسيطة أولى لوظيفة percySnapshot:

import { remote } from 'webdriverio'

import percySnapshot from '@percy/webdriverio';

const browser = await remote({
logLevel: 'trace',
capabilities: {
browserName: 'chrome'
}
});

await browser.url('https://duckduckgo.com');
const inputElem = await browser.$('#search_form_input_homepage');
await inputElem.setValue('WebdriverIO');
const submitBtn = await browser.$('#search_button_homepage');
await submitBtn.click();
// the browser object is required in standalone mode
percySnapshot(browser, 'WebdriverIO at DuckDuckGo');
await browser.deleteSession();

وسائط طريقة اللقطة هي:

percySnapshot(name[, options])

الوضع المستقل

percySnapshot(browser, name[, options])
  • browser (مطلوب) - كائن متصفح WebdriverIO
  • name (مطلوب) - اسم اللقطة؛ يجب أن يكون فريدًا لكل لقطة
  • options - انظر خيارات التكوين لكل لقطة

لمعرفة المزيد، راجع لقطة Percy.

الخطوة 5: تشغيل Percy

قم بتشغيل اختباراتك باستخدام أمر percy exec كما هو موضح أدناه:

إذا كنت غير قادر على استخدام أمر percy:exec أو تفضل تشغيل اختباراتك باستخدام خيارات تشغيل IDE، يمكنك استخدام أوامر percy:exec:start و percy:exec:stop. لمعرفة المزيد، قم بزيارة تشغيل Percy.

percy exec -- wdio wdio.conf.js
[percy] Percy has started!
[percy] Created build #1: https://percy.io/[your-project]
[percy] Running "wdio wdio.conf.js"
...
[...] webdriver.io page
[percy] Snapshot taken "webdriver.io page"
[...] ✓ should have the right title
...
[percy] Stopping percy...
[percy] Finalized build #1: https://percy.io/[your-project]
[percy] Done!

قم بزيارة الصفحات التالية لمزيد من التفاصيل:

المصدرالوصف
الوثائق الرسميةوثائق Percy لـ WebdriverIO
بناء عينة - برنامج تعليميبرنامج تعليمي لـ Percy و WebdriverIO
فيديو رسمياختبار مرئي مع Percy
مدونةتقديم المراجعات المرئية 2.0

Welcome! How can I help?

WebdriverIO AI Copilot