Skip to content

About

Playwright Framework using Engine

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Web Engine POC

Standalone web test project that uses framework-engine as a library. The engine sees one framework, web, and the configured driver decides whether the backend is Playwright or Selenium.

Setup

npm install

Run Through FrameworkEngine

npm run engine:playwright
npm run engine:selenium

Dry-run variants are available too:

npm run engine:playwright:dry-run
npm run engine:selenium:dry-run

The runner at scripts/run-framework-engine.mjs imports framework-engine, loads the selected config, and prints the normalized execution summary returned by the engine.

The Playwright config uses Docker:

framework: web
driver: playwright
executor:
  type: docker

The Selenium config uses the local executor:

framework: web
driver: selenium
executor:
  type: local

Test Framework Shape

  • src/locators/checkoutLocators.ts keeps selectors in one place.
  • src/pages/CheckoutPage.ts defines the shared page-object contract.
  • src/pages/playwright/PlaywrightCheckoutPage.ts implements that contract with Playwright.
  • src/pages/selenium/SeleniumCheckoutPage.ts implements that contract with Selenium WebDriver.
  • src/specs/checkoutContract.ts defines the shared test scenarios.
  • tests/demo-app.spec.ts binds the shared tests to the Playwright page-object adapter.
  • scripts/run-selenium-contract.ts binds the same shared scenarios to the Selenium page-object adapter and writes results.json for the engine.

Run Playwright Directly

npm test
npm run test:headed

Artifacts are written to test-results/. The engine run also generates Playwright JSON, HTML, and Allure report output there.

Run Selenium Directly

npm run selenium

The Selenium path requires a local Chrome installation. Selenium Manager resolves ChromeDriver automatically.

About

Playwright Framework using Engine

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages