داکر
داکر یک فناوری قدرتمند کانتینرسازی است که به شما امکان میدهد مجموعه آزمونهای خود را در یک کانتینر قرار دهید که در هر سیستمی به یک شکل رفتار میکند. این میتواند از ناپایداریها به دلیل نسخههای مختلف مرورگر یا پلتفرم جلوگیری کند. برای اجرای آزمونهای خود در یک کانتینر، یک فایل Dockerfile
در دایرکتوری پروژه خود ایجاد کنید، به عنوان مثال:
FROM selenium/standalone-chrome:134.0-20250323 # Change the browser and version according to your needs
WORKDIR /app
ADD . /app
RUN npm install
CMD npx wdio
اطمینان حاصل کنید که node_modules
خود را در تصویر داکر قرار ندادهاید و این موارد هنگام ساختن تصویر نصب شدهاند. برای این کار یک فایل .dockerignore
با محتوای زیر اضافه کنید:
node_modules
ما در اینجا از یک تصویر داکر استفاده میکنیم که با Selenium و Google Chrome از پیش نصب شده است. تصاویر مختلفی با تنظیمات مرورگر و نسخههای مرورگر مختلف در دسترس هستند. تصاویر نگهداری شده توسط پروژه Selenium را در Docker Hub بررسی کنید.
از آنجا که ما فقط میتوانیم Google Chrome را در حالت headless در کانتینر داکر خود اجرا کنیم، باید wdio.conf.js
خود را برای اطمینان از این کار تغییر دهیم:
export const config = {
// ...
capabilities: [{
maxInstances: 1,
browserName: 'chrome',
'goog:chromeOptions': {
args: [
'--no-sandbox',
'--disable-infobars',
'--headless',
'--disable-gpu',
'--window-size=1440,735'
],
}
}],
// ...
}
همانطور که در پروتکلهای اتوماسیون ذکر شد، میتوانید WebdriverIO را با استفاده از پروتکل WebDriver یا پروتکل WebDriver BiDi اجرا کنید. اطمینان حاصل کنید که نسخه Chrome نصب شده روی تصویر شما با نسخه Chromedriver که در package.json
خود تعریف کردهاید، مطابقت دارد.
برای ساخت کانتینر داکر میتوانید اجرا کنید:
docker build -t mytest -f Dockerfile .
سپس برای اجرای آزمونها، این دستور را اجرا کنید:
docker run -it mytest
برای اطلاعات بیشتر در مورد نحوه پیکربندی تصویر داکر، به مستندات داکر مراجعه کنید.