برنامه نویسی

یک سرور توسعه دهنده محلی برای آزمایشات Playwrit خود راه اندازی کنید

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

هنگامی که برای اولین بار یک پروژه نمایشنامه نویس ایجاد می کنید یا نمایشنامه نویس را از طریق پسوند VS Code به پروژه خود اضافه می کنید، webServer گزینه در تنظیمات شما نظر داده شده است. این بخش را از نظر خارج کنید یا آن را به صورت دستی به پیکربندی خود اضافه کنید تا قبل از شروع آزمایش ها، سرور توسعه دهنده محلی خود را اجرا کنید.

import { defineConfig } from '@playwright/test';

export default defineConfig({
  // Rest of your config...

  // Run your local dev server before starting the tests
  webServer: {
    command: 'npm run start',
    url: 'http://127.0.0.1:3000',
    reuseExistingServer: !process.env.CI,
  },
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فرمان

این command دستور پوسته برای راه اندازی سرور توسعه دهنده محلی برنامه شما است. این می تواند هر دستوری باشد که یک سرور توسعه دهنده محلی را راه اندازی می کند. به عنوان مثال، برای اکثر فریم ورک های وب این کار وجود دارد npm run start برای راه اندازی سرور توسعه دهنده

import { defineConfig } from '@playwright/test';

export default defineConfig({
  // Rest of your config...

  // Run your local dev server before starting the tests
  webServer: {
    command: 'npm run start',
  },
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

URL

این url ویژگی URL سرور http شما است که انتظار می رود زمانی که سرور آماده پذیرش اتصالات است، کد وضعیت 2xx، 3xx، 400، 401، 402 یا 403 را برگرداند. این برای مثال است http://127.0.0.1:3000. پس از آماده شدن سرور، آزمون اجرا کننده شروع به اجرای آزمایش می کند.

import { defineConfig } from '@playwright/test';

export default defineConfig({
  // Rest of your config...

  // Run your local dev server before starting the tests
  webServer: {
    command: 'npm run start',
    url: 'http://127.0.0.1:3000',
  },
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

استفاده مجدد از سرور موجود

اگر true، در صورت موجود بودن از یک سرور موجود در آدرس اینترنتی استفاده مجدد خواهد کرد. اگر هیچ سروری روی آن url اجرا نشود، دستور راه اندازی سرور جدید را اجرا می کند. اگر false، اگر یک فرآیند موجود در حال گوش دادن به آدرس اینترنتی باشد، پرتاب می شود. این باید تنظیم شود !process.env.CI به سرور توسعه دهنده محلی اجازه می دهد از سرور موجود در هنگام اجرای آزمایشات به صورت محلی استفاده مجدد کند اما از سرور موجود در CI استفاده نمی کند.

import { defineConfig } from '@playwright/test';

export default defineConfig({
  // Rest of your config...

  // Run your local dev server before starting the tests
  webServer: {
    command: 'npm run start',
    url: 'http://127.0.0.1:3000',
    reuseExistingServer: !process.env.CI,
  },
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اضافه کردن مهلت زمانی سرور

گاهی اوقات راه اندازی وب سرورها بیشتر طول می کشد. در این صورت می توانید مدت زمان انتظار برای شروع سرور را افزایش دهید.

import { defineConfig } from '@playwright/test';

export default defineConfig({
  // Rest of your config...

  // Run your local dev server before starting the tests
  webServer: {
    command: 'npm run start',
    url: 'http://127.0.0.1:3000',
    reuseExistingServer: !process.env.CI,
    timeout: 120 * 1000,
  },
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اضافه کردن یک آدرس baseURL

همچنین توصیه می شود که baseURL در use: {} بخش پیکربندی شما، به طوری که آزمایش ها بتوانند از آدرس های اینترنتی نسبی استفاده کنند و مجبور نباشید بارها و بارها URL کامل را مشخص کنید.

import { defineConfig } from '@playwright/test';

export default defineConfig({
  // Rest of your config...

  // Run your local dev server before starting the tests
  webServer: {
    command: 'npm run start',
    url: 'http://127.0.0.1:3000',
    reuseExistingServer: !process.env.CI,
  },
  use: {
    baseURL: 'http://127.0.0.1:3000',
  },
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون می توانید هنگام پیمایش صفحه از یک مسیر نسبی استفاده کنید:

const { test } = require('@playwright/test');

test('my test', async ({ page }) => {
  // This will navigate to http://127.0.0.1:3000/about
  await page.goto('./about');
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و بس. اکنون هنگامی که آزمایش‌های خود را اجرا می‌کنید، اگر قبلاً یک سرور را روی آن آدرس اینترنتی راه‌اندازی نکرده باشید، یک سرور محلی می‌چرخد و آزمایش‌های شما در برابر سرور توسعه‌دهنده محلی شما اجرا می‌شود.

لینک های مفید

اسناد نمایشنامه نویس
کانال اختلاف انجمن نمایشنامه نویس
کانال یوتیوب نمایشنامه نویس
نمایشنامه نویس در توییتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا