صابر طباطبائی یزدی
صابر طباطبائی یزدی
خواندن ۳ دقیقه·۱۴ ساعت پیش

WebDriverIO فریم‌ورک اتوماسیون تست

درباره WebDriverIO که یک فریم‌ورک اتوماسیون تست برای وب‌سایت‌ها و اپلیکیشن‌های وب است که بر اساس WebDriver ساخته شده است. WebDriverIO به شما این امکان را می‌دهد که تست‌های مرورگر را با استفاده از زبان‌های برنامه‌نویسی مختلفی مانند JavaScript یا TypeScript بنویسید و آن‌ها را اجرا کنید. این فریم‌ورک بسیار محبوب در دنیای تست اتوماسیون است و ویژگی‌هایی دارد که آن را برای تست‌های End-to-End (E2E) بسیار مناسب می‌سازد.


ویژگی‌های اصلی WebDriverIO

  1. پشتیبانی از چندین مرورگر:WebDriverIO از مرورگرهای مختلف مانند Chrome، Firefox، Safari و Edge پشتیبانی می‌کند و امکان اجرای تست‌ها در این مرورگرها به‌صورت همزمان را فراهم می‌کند.
  2. پشتیبانی از موبایل:WebDriverIO می‌تواند به‌راحتی با ابزارهایی مانند Appium ترکیب شده و تست‌هایی را برای اپلیکیشن‌های موبایل در iOS و Android اجرا کند.
  3. زبان برنامه‌نویسی:WebDriverIO از JavaScript و TypeScript پشتیبانی می‌کند. بنابراین، اگر شما قبلاً با این زبان‌ها آشنا هستید، می‌توانید از آن‌ها برای نوشتن اسکریپت‌های تست خود استفاده کنید.
  4. تست‌های مقیاس‌پذیر:WebDriverIO قابلیت اجرای تست‌ها به‌صورت موازی را دارد که این ویژگی می‌تواند سرعت اجرای تست‌ها را افزایش دهد و به شما کمک کند تا تست‌های بزرگ‌تری را اجرا کنید.
  5. پشتیبانی از فریم‌ورک‌های مختلف:WebDriverIO از فریم‌ورک‌های تست مختلف مانند Mocha، Jasmine، Cucumber و Jest پشتیبانی می‌کند. این امکان را به شما می‌دهد که به‌راحتی تست‌های خود را با توجه به نیازهای پروژه بنویسید.
  6. انتخاب‌گرهای ساده و قدرتمند:WebDriverIO به شما اجازه می‌دهد که با استفاده از انتخاب‌گرهای ساده (مثل CSS selector، XPath، و دیگر انتخاب‌گرهای معمولی) به راحتی به عناصر صفحه دسترسی پیدا کنید.
  7. گزارش‌دهی و لاگ‌برداری:WebDriverIO قابلیت تولید گزارش‌های دقیق از اجرای تست‌ها را دارد. این گزارش‌ها شامل اطلاعات مفیدی مانند جزئیات خطاها، زمان‌بندی تست‌ها و ... هستند.
  8. پشتیبانی از Docker:WebDriverIO از Docker پشتیبانی می‌کند، که به شما این امکان را می‌دهد که تست‌ها را در محیط‌های ایزوله و سازگار با CI/CD اجرا کنید.
  9. پشتیبانی از تست‌های شبکه:WebDriverIO می‌تواند ویژگی‌های شبکه را شبیه‌سازی کند و به شما اجازه می‌دهد که تست‌هایی را در شرایط خاص شبکه، مانند شبیه‌سازی اینترنت ضعیف، اجرا کنید.
  10. پشتیبانی از وب و موبایل به‌طور همزمان:
  • WebDriverIO می‌تواند همزمان تست‌هایی را برای وب و موبایل اجرا کند. این ویژگی برای پروژه‌هایی که نیاز به تست هم‌زمان اپلیکیشن‌های موبایل و وب دارند بسیار مفید است.

نحوه نصب WebDriverIO

برای نصب WebDriverIO، ابتدا باید Node.js را روی سیستم خود نصب کرده باشید. سپس می‌توانید WebDriverIO را با استفاده از npm نصب کنید.

  1. ابتدا یک پروژه جدید Node.js ایجاد کنید:mkdir my-webdriverio-project
    cd my-webdriverio-project
    npm init -y
  2. سپس WebDriverIO را نصب کنید:npm install --save-dev webdriverio
  3. همچنین نیاز به نصب یک محیط تست دارید. برای مثال، اگر از Mocha استفاده می‌کنید:npm install --save-dev @wdio/cli @wdio/mocha-framework
  4. حالا می‌توانید WebDriverIO را پیکربندی کنید. برای این کار از دستور wdio config استفاده کنید:npx wdio config

این دستور از شما می‌خواهد که برخی گزینه‌ها را برای پیکربندی پروژه وارد کنید، از جمله نوع فریم‌ورک تست، مرورگرها، گزارش‌ها و سایر تنظیمات.

نوشتن تست با WebDriverIO

در اینجا یک مثال ساده از نوشتن یک تست با WebDriverIO آورده شده است. در این تست، وب‌سایتی بارگذاری می‌شود و بررسی می‌شود که عنوان صفحه درست است:

describe('Google Search', () => { it('should open google and check the title', async () => { await browser.url('https://www.google.com'); const title = await browser.getTitle(); console.log(title); // باید &quotGoogle&quot چاپ کند expect(title).toBe('Google'); }); });

در این مثال:

  • browser.url() برای باز کردن URL مشخص‌شده استفاده می‌شود.
  • browser.getTitle() عنوان صفحه وب را دریافت می‌کند.
  • expect() برای مقایسه و تایید نتایج استفاده می‌شود.

اجرای تست‌ها

برای اجرای تست‌ها می‌توانید از دستور زیر استفاده کنید:

npx wdio run wdio.conf.js

این دستور تمامی تست‌ها را اجرا می‌کند و گزارش آن‌ها را نمایش می‌دهد.

نتیجه‌گیری

WebDriverIO یک فریم‌ورک قدرتمند برای اتوماسیون تست وب است که با استفاده از آن می‌توانید تست‌های End-to-End پیچیده برای وب‌سایت‌ها و اپلیکیشن‌های وب بنویسید. این فریم‌ورک بسیار انعطاف‌پذیر است و از مرورگرها و ابزارهای مختلفی پشتیبانی می‌کند. WebDriverIO همچنین از فریم‌ورک‌های مختلف تست پشتیبانی می‌کند و به شما این امکان را می‌دهد که تست‌ها را به‌طور موازی اجرا کنید و گزارش‌های دقیقی از آن‌ها دریافت کنید.

تستci cd
برنامه نویس.42ساله. از مدرک MCSD دات نت سال 2002 شروع کردم البته بعد از لیسانس و تمام عمرم رو در مدیریت با ابزار های شیرپوینت و MSPS و CRM و غیره گذراندم.https://zil.ink/sabert
شاید از این پست‌ها خوشتان بیاید