{"name":"playwright-automation-scenarios-ts-js","generatedAt":"2026-10-04T08:25:35.767Z","languages":{"TypeScript":118184,"JavaScript":30791},"commitTotal":10,"commits":[{"sha":"1b9998ec2404b438a64ed377fa4dbb2499511675","message":"feat: add comprehensive README for Playwright Automation setup and usage","date":"2026-02-27T15:34:00Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/1b9998ec2404b438a64ed377fa4dbb2499511675"},{"sha":"7efc02e9632d4cd34cdc63501a47093aa82bda3e","message":"Add end-to-end tests and utility functions for Playwright\n\n- Implemented E2E API tests for user creation, retrieval, update, and deletion using Playwright.\n- Created end-to-end tests for shopping flow, including login, product addition, and order placement.\n- Added utility functions for element interactions and visibility checks in ElementUtil class.\n- Developed tests for network request interception and response validation.\n- Included visual testing capabilities with screenshot comparisons.\n- Enhanced locator strategies using Playwright's getBy methods for better readability.\n- Added tests for UI components like radio buttons and checkboxes.\n- Implemented API testing for user authentication and order management.","date":"2026-02-27T15:29:10Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/7efc02e9632d4cd34cdc63501a47093aa82bda3e"},{"sha":"93fc9aa44a6738b65859ff5b48c0732b62496046","message":"feat: add ExcelJS dependency and implement Excel file manipulation in tests\n\n- Added `exceljs` dependency to package.json for Excel file handling.\n- Increased Playwright test timeout from 40s to 60s for better stability.\n- Created `DownloadAndUploadSenario.spec.js` for testing Excel file download, modification, and upload.\n- Implemented network request interception in `NetworkTest2.spec.js` for security testing.\n- Added image request blocking and logging in `NetworkTest3.spec.js` for performance optimization.\n- Introduced screenshot and visual comparison tests in `ScreenshotAndVisualComperation.spec.js`.\n- Added a new screenshot for visual comparison.","date":"2026-02-24T05:50:31Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/93fc9aa44a6738b65859ff5b48c0732b62496046"},{"sha":"766b694a9846c9d07c1fbe43878ce1dedc8e7d83","message":"Add API utility class, implement CRUD operations, and enhance test configurations","date":"2026-02-15T10:10:24Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/766b694a9846c9d07c1fbe43878ce1dedc8e7d83"},{"sha":"1bcba65c623da6eb3e85cba1de6f9e3d4f963b35","message":"Refactor login section for improved readability and maintainability; remove redundant checkout click","date":"2026-02-11T14:15:17Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/1bcba65c623da6eb3e85cba1de6f9e3d4f963b35"},{"sha":"078e3829af4778d9239a93080e050be885e589bd","message":"Fix locator definitions in end-to-end test for username and password fields","date":"2026-02-11T14:09:36Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/078e3829af4778d9239a93080e050be885e589bd"},{"sha":"2ad0525ca66ff3630c65d6831c461f5f57371607","message":"Add new end-to-end tests using Playwright GetBy locators and improve existing tests","date":"2026-02-11T14:05:23Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/2ad0525ca66ff3630c65d6831c461f5f57371607"},{"sha":"477a438c17c02e5dfedf330d18b1509449c30c62","message":"Add UI tests for Child-Parent window interaction, Client app login, End-to-End workflow, and Radio Button/Checkbox examples","date":"2026-02-11T09:54:20Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/477a438c17c02e5dfedf330d18b1509449c30c62"},{"sha":"f0a14333268f912976dd0b9359a74c27e0051e95","message":"Fix some code","date":"2026-02-09T14:33:30Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/f0a14333268f912976dd0b9359a74c27e0051e95"},{"sha":"4d04e0a10f2a969a3db1f07dff2fd496f7f55abe","message":"Initial commit","date":"2026-02-09T14:28:45Z","author":"Aayush Mishra","login":"Aayush-Mishraa","avatar":"https://avatars.githubusercontent.com/u/89012492?v=4","verified":false,"url":"https://github.com/Aayush-Mishraa/playwright-automation-scenarios-ts-js/commit/4d04e0a10f2a969a3db1f07dff2fd496f7f55abe"}],"readmeHtml":"<div id=\"readme\" class=\"md\" data-path=\"README.md\"><article class=\"markdown-body entry-content container-lg\" itemprop=\"text\"><div class=\"markdown-heading\" dir=\"auto\"><h1 class=\"heading-element\" dir=\"auto\">Playwright Automation</h1><a id=\"user-content-playwright-automation\" class=\"anchor\" aria-label=\"Permalink: Playwright Automation\" href=\"#playwright-automation\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<p dir=\"auto\">A hands-on Playwright workspace that grows from basic UI checks to advanced UI + API scenarios. I use it as a learning sandbox and a quick place to validate ideas before moving them into real projects.</p>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 class=\"heading-element\" dir=\"auto\">Quick start</h2><a id=\"user-content-quick-start\" class=\"anchor\" aria-label=\"Permalink: Quick start\" href=\"#quick-start\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ol dir=\"auto\">\n<li>Install dependencies</li>\n</ol>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"npm install\nnpx playwright install\"><pre class=\"notranslate\"><code>npm install\nnpx playwright install\n</code></pre></div>\n<ol start=\"2\" dir=\"auto\">\n<li>Run a few tests</li>\n</ol>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"# run everything under tests\nnpx playwright test\n\n# run a folder\nnpx playwright test tests/testAllSenarios\nnpx playwright test tests/testlogics\n\n# run api tests only\nnpx playwright test tests/testAllSenarios/apis\"><pre class=\"notranslate\"><code># run everything under tests\nnpx playwright test\n\n# run a folder\nnpx playwright test tests/testAllSenarios\nnpx playwright test tests/testlogics\n\n# run api tests only\nnpx playwright test tests/testAllSenarios/apis\n</code></pre></div>\n<ol start=\"3\" dir=\"auto\">\n<li>Open the report</li>\n</ol>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"# after a run\nnpx playwright show-report\"><pre class=\"notranslate\"><code># after a run\nnpx playwright show-report\n</code></pre></div>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 class=\"heading-element\" dir=\"auto\">Configs</h2><a id=\"user-content-configs\" class=\"anchor\" aria-label=\"Permalink: Configs\" href=\"#configs\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li>playwright.config.js\n<ul dir=\"auto\">\n<li>Headed Chromium, screenshots only on failure, traces retained on failure.</li>\n</ul>\n</li>\n<li>playwright.config2.ts\n<ul dir=\"auto\">\n<li>Multi-browser projects with standard Playwright defaults.</li>\n</ul>\n</li>\n</ul>\n<p dir=\"auto\">You can switch configs like this:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"npx playwright test --config playwright.config2.ts\"><pre class=\"notranslate\"><code>npx playwright test --config playwright.config2.ts\n</code></pre></div>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 class=\"heading-element\" dir=\"auto\">Folder map</h2><a id=\"user-content-folder-map\" class=\"anchor\" aria-label=\"Permalink: Folder map\" href=\"#folder-map\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li>tests/testAllSenarios\n<ul dir=\"auto\">\n<li>Main learning track: basic to advanced UI + API topics.</li>\n</ul>\n</li>\n<li>tests/testAllSenarios/apis\n<ul dir=\"auto\">\n<li>API-only suites.</li>\n</ul>\n</li>\n<li>tests/testlogics\n<ul dir=\"auto\">\n<li>Focused automation patterns and demo flows.</li>\n</ul>\n</li>\n<li>tests/utils\n<ul dir=\"auto\">\n<li>Reusable helpers.</li>\n</ul>\n</li>\n<li>auth\n<ul dir=\"auto\">\n<li>Storage state and session data.</li>\n</ul>\n</li>\n<li>playwright-report, test-results\n<ul dir=\"auto\">\n<li>Playwright HTML report and raw artifacts.</li>\n</ul>\n</li>\n</ul>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 class=\"heading-element\" dir=\"auto\">Scenario index (basic to advanced)</h2><a id=\"user-content-scenario-index-basic-to-advanced\" class=\"anchor\" aria-label=\"Permalink: Scenario index (basic to advanced)\" href=\"#scenario-index-basic-to-advanced\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<div class=\"markdown-heading\" dir=\"auto\"><h3 class=\"heading-element\" dir=\"auto\">tests/testAllSenarios</h3><a id=\"user-content-teststestallsenarios\" class=\"anchor\" aria-label=\"Permalink: tests/testAllSenarios\" href=\"#teststestallsenarios\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li>app.spec.ts - basic app flow and smoke checks.</li>\n<li>assertions.spec.ts - expect and assertion patterns.</li>\n<li>backandforward.spec.ts - browser navigation history.</li>\n<li>browsercontext.spec.ts - multiple contexts and isolation.</li>\n<li>calendar.spec.ts - date picker interactions.</li>\n<li>customFixture.spec.ts - custom fixture setup and usage.</li>\n<li>datadriveFaker.spec.ts - faker-driven input data.</li>\n<li>datadrivenExcel.spec.ts - data driven tests with Excel.</li>\n<li>dataprovider.spec.ts - data provider basics.</li>\n<li>dataproviderCSV.spec.ts - CSV based data provider.</li>\n<li>dataproviderjson.spec.ts - JSON based data provider.</li>\n<li>describe.spec.ts - describe blocks and grouping.</li>\n<li>google.core.spec.ts - core search flow with Google.</li>\n<li>google.spec.ts - UI search checks on Google.</li>\n<li>hooks.spec.ts - before/after hooks.</li>\n<li>hooksinsidedecribe.spec.ts - hooks inside describe blocks.</li>\n<li>InBuiltFixture.spec.ts - built-in Playwright fixtures.</li>\n<li>launchurl.spec.ts - launch and basic navigation.</li>\n<li>loginpage.spec.ts - login page flow.</li>\n<li>mytest.spec.ts - mixed sample tests.</li>\n<li>myutil.spec.ts - helper usage in tests.</li>\n<li>productinfo.spec.ts - product page validations.</li>\n<li>regfix.spec.ts - regex locator or fix-up examples.</li>\n<li>register.spec.ts - registration flow.</li>\n<li>retry.spec.ts - retry behavior.</li>\n<li>search.spec.ts - search flow validations.</li>\n<li>serialrun.spec.ts - serial execution patterns.</li>\n<li>sessiontest.spec.ts - session handling.</li>\n<li>storage-session.spec.ts - storage state reuse.</li>\n<li>webtablepagination.spec.ts - table pagination logic.</li>\n</ul>\n<div class=\"markdown-heading\" dir=\"auto\"><h3 class=\"heading-element\" dir=\"auto\">tests/testAllSenarios/apis</h3><a id=\"user-content-teststestallsenariosapis\" class=\"anchor\" aria-label=\"Permalink: tests/testAllSenarios/apis\" href=\"#teststestallsenariosapis\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li>basicauth.spec.ts - basic auth coverage.</li>\n<li>gorest.spec.ts - GoRest API basics.</li>\n<li>gorest_crud.spec.ts - GoRest CRUD flow.</li>\n<li>gorest_e2e.spec.ts - GoRest end-to-end.</li>\n<li>network_monitoring.spec.ts - network monitoring in API tests.</li>\n<li>product_jsonpath.spec.ts - JSONPath validation.</li>\n<li>schema_validation.spec.ts - schema validation checks.</li>\n<li>spotify_oauth2.spec.ts - OAuth2 token flow.</li>\n</ul>\n<div class=\"markdown-heading\" dir=\"auto\"><h3 class=\"heading-element\" dir=\"auto\">tests/testlogics</h3><a id=\"user-content-teststestlogics\" class=\"anchor\" aria-label=\"Permalink: tests/testlogics\" href=\"#teststestlogics\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li>APITest.spec.ts - API test fundamentals.</li>\n<li>BrowserContext.spec.ts - context and isolation demos.</li>\n<li>CalenderUISenario.spec.js - calendar UI scenario.</li>\n<li>ChildParentWindow.spec.js - window and tab handling.</li>\n<li>ClientAPP.spec.js - client app flow checks.</li>\n<li>DownloadAndUploadSenario.spec.js - upload and download flows.</li>\n<li>E2EAPITest.spec.ts - API end-to-end test.</li>\n<li>EndToEndTest_UsingGetBy.spec.js - E2E flow using getBy locators.</li>\n<li>EndToEnd_WebAutomationPractice.spec.js - E2E practice flow.</li>\n<li>gorest_e2e.spec.ts - GoRest end-to-end API.</li>\n<li>LocateElement_Using_GetBy.spec.js - locator strategies with getBy.</li>\n<li>NetworkTest.spec.js - network intercept or listen basics.</li>\n<li>NetworkTest2.spec.js - network scenario two.</li>\n<li>NetworkTest3.spec.js - network scenario three.</li>\n<li>product_jsonpath.spec.ts - JSONPath validations.</li>\n<li>RadioButton_CheckBoxesUI.spec.js - radio and checkbox controls.</li>\n<li>ScreenshotAndVisualComperation.spec.js - visual comparison.</li>\n<li>UIBasictest.spec.js - basic UI actions.</li>\n<li>WebAPIOopsPart1.spec.js - API design with OOP style.</li>\n<li>WebAPIPart1.spec.js - API basics and patterns.</li>\n</ul>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 class=\"heading-element\" dir=\"auto\">Helpers</h2><a id=\"user-content-helpers\" class=\"anchor\" aria-label=\"Permalink: Helpers\" href=\"#helpers\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li>tests/utils/APIutils.js - API helper functions.</li>\n<li>tests/utils/ElementUtil.ts - element and locator helpers.</li>\n</ul>\n<div class=\"markdown-heading\" dir=\"auto\"><h2 class=\"heading-element\" dir=\"auto\">Notes</h2><a id=\"user-content-notes\" class=\"anchor\" aria-label=\"Permalink: Notes\" href=\"#notes\"><svg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"></path></svg></a></div>\n<ul dir=\"auto\">\n<li>package.json includes a sample script that runs one spec in headed mode. Use the CLI examples above for full control.</li>\n<li>If you are reusing session state, keep auth/session.json updated.</li>\n</ul>\n</article></div>","tree":{"fileCount":111,"dirCount":13,"truncated":false,"extensions":[{"ext":"ts","count":83},{"ext":"js","count":17},{"ext":"json","count":5},{"ext":"png","count":3},{"ext":"yml","count":1},{"ext":"gitignore","count":1},{"ext":"md","count":1}],"topLevel":[{"name":".github","type":"dir"},{"name":".vscode","type":"dir"},{"name":"auth","type":"dir"},{"name":"tests","type":"dir"},{"name":"TestsPractices","type":"dir"},{"name":".gitignore","type":"file"},{"name":"displayed-text.png","type":"file"},{"name":"package-lock.json","type":"file"},{"name":"package.json","type":"file"},{"name":"playwright.config.js","type":"file"},{"name":"playwright.config2.ts","type":"file"},{"name":"README.md","type":"file"},{"name":"screenshot.png","type":"file"},{"name":"tsconfig.json","type":"file"}]}}