UNPKG

playwright-ai-codegen-lib

Version:

A utility to auto-generate Playwright PageObjects and test scripts using OpenAI and DOM extraction.

92 lines (57 loc) 2.2 kB
from pathlib import Path readme_path = Path("README.md") readme_content = """# 🎭 playwright-ai-codegen-lib A powerful utility library to **auto-generate Playwright PageObjects and test scripts** using the DOM structure of any webpage — powered by **OpenAI GPT models**. Perfect for automation engineers and SDETs looking to **accelerate test development** and **bootstrap test coverage** with AI assistance. --- ## ✨ Features -**Generates PageObject classes** by extracting DOM from any URL -**Creates functional methods** (e.g., `clickButton`, `fillInput`) using OpenAI -**Builds Playwright test files** from generated PageObjects - ✅ Designed with **TypeScript**, **Playwright**, and **OpenAI** SDK -**CLI-friendly** and easy to integrate into any test automation framework --- ## 📦 Installation ```bash npm install playwright-ai-codegen-lib ``` For local development: ```bash git clone https://github.com/mohitkalra610/playwright-ai-codegen-lib.git cd playwright-ai-codegen-lib npm install npm run build ``` --- ## 🚀 Usage ### 1️⃣ Generate PageObject from a URL ```bash npm run generate -- https://example.com ``` This will navigate to the given URL, extract the DOM, and generate a Playwright PageObject file inside `pageObjects/`. --- ### 2️⃣ Generate Interaction Functions from PageObject ```bash npm run generate:functions -- pageObjects/MyPageObject.ts ``` This enhances the PageObject with useful interaction methods like `clickLoginButton`, `fillUsernameField`, etc. --- ### 3️⃣ Generate Playwright Test Scripts ```bash npm run generate:tests -- pageObjects/MyPageObject.ts ``` Generates a full test file inside the `tests/` directory based on your PageObject, ready to be executed with Playwright. --- ## 🛠️ Requirements - Node.js >= 18 - Playwright - OpenAI API Key (set in `.env` as `OPENAI_API_KEY`) --- ## 🤝 Contributing Feel free to open issues, fork the repo, and submit PRs. --- ## 📄 License MIT © [Mohit Kalra](https://github.com/mohitkalra610) """ readme_path.write_text(readme_content) readme_path