پرش به محتوای اصلی

جنکینز

WebdriverIO ادغام محکمی با سیستم‌های CI مانند Jenkins ارائه می‌دهد. با گزارش‌دهنده junit، می‌توانید به راحتی تست‌های خود را اشکال‌زدایی کنید و همچنین نتایج تست خود را پیگیری کنید. این ادغام بسیار ساده است.

  1. گزارش‌دهنده تست junit را نصب کنید: $ npm install @wdio/junit-reporter --save-dev)
  2. پیکربندی خود را به‌روزرسانی کنید تا نتایج XUnit خود را در جایی که Jenkins می‌تواند آنها را پیدا کند ذخیره کنید، (و گزارش‌دهنده junit را مشخص کنید):
// wdio.conf.js
module.exports = {
// ...
reporters: [
'dot',
['junit', {
outputDir: './'
}]
],
// ...
}

انتخاب چارچوب به عهده شماست. گزارش‌ها مشابه خواهند بود. برای این آموزش، از Jasmine استفاده خواهیم کرد.

پس از نوشتن چند تست، می‌توانید یک کار جدید Jenkins راه‌اندازی کنید. به آن یک نام و توضیحات بدهید:

Name And Description

سپس مطمئن شوید که همیشه جدیدترین نسخه مخزن شما را دریافت می‌کند:

Jenkins Git Setup

حالا بخش مهم: یک مرحله build برای اجرای دستورات شل ایجاد کنید. مرحله build باید پروژه شما را بسازد. از آنجا که این پروژه نمایشی فقط یک برنامه خارجی را آزمایش می‌کند، نیازی به ساخت چیزی ندارید. فقط وابستگی‌های node را نصب کنید و دستور npm test را اجرا کنید (که مخفف node_modules/.bin/wdio test/wdio.conf.js است).

اگر افزونه‌ای مانند AnsiColor نصب کرده‌اید، اما هنوز لاگ‌ها رنگی نیستند، تست‌ها را با متغیر محیطی FORCE_COLOR=1 اجرا کنید (به عنوان مثال، FORCE_COLOR=1 npm test).

Build Step

پس از تست، می‌خواهید Jenkins گزارش XUnit شما را پیگیری کند. برای انجام این کار، باید یک اقدام پس از ساخت به نام "Publish JUnit test result report" اضافه کنید.

شما همچنین می‌توانید یک افزونه XUnit خارجی برای پیگیری گزارش‌های خود نصب کنید. افزونه JUnit با نصب پایه Jenkins ارائه می‌شود و برای حال حاضر کافی است.

طبق فایل پیکربندی، گزارش‌های XUnit در دایرکتوری اصلی پروژه ذخیره می‌شوند. این گزارش‌ها فایل‌های XML هستند. بنابراین، تنها کاری که باید برای پیگیری گزارش‌ها انجام دهید این است که Jenkins را به تمام فایل‌های XML در دایرکتوری اصلی خود هدایت کنید:

Post-build Action

همین! شما اکنون Jenkins را برای اجرای کارهای WebdriverIO راه‌اندازی کرده‌اید. کار شما اکنون نتایج تست مفصلی با نمودارهای تاریخی، اطلاعات ردیابی پشته در کارهای ناموفق، و لیستی از دستورات با محتوایی که در هر تست استفاده شده است، ارائه می‌دهد.

Jenkins Final Integration

Welcome! How can I help?

WebdriverIO AI Copilot