Playwright 1.56 ਤਿੰਨ ਬਿਲਟ-ਇਨ AI agents ਦੇ ਨਾਲ ਆ ਰਿਹਾ ਹੈ ਜੋ ਇੱਕ ਟੈਸਟ ਸੂਟ ਦੀ ਯੋਜਨਾ ਬਣਾਉਂਦੇ ਹਨ, ਸੰਬੰਧਿਤ TypeScript ਸਕ੍ਰਿਪਟਾਂ ਲਿਖਦੇ ਹਨ, ਅਤੇ ਤੁਰੰਤ ਟੁੱਟੇ ਹੋਏ locators ਨੂੰ ਠੀਕ ਕਰਦੇ ਹਨ। ਨਤੀਜਾ: ਮੈਨੂਅਲ ਟੈਸਟਿੰਗ ਦੀ ਮਿਹਨਤ ਹੁਣ ਇੱਕ AI-ਸਹਾਇਤਾ ਪ੍ਰਾਪਤ ਵਰਕਫਲੋ ਬਣ ਜਾਂਦੀ ਹੈ।
ਇਹ ਬਦਲਾਅ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ
Automation engineers ਲੰਬੇ ਸਮੇਂ ਤੋਂ ਇੱਕ ਦੁਹਰਾਉਣ ਵਾਲੇ ਚੱਕਰ (loop) ਦੀ ਪਾਲਣਾ ਕਰ ਰਹੇ ਹਨ: ਲੋੜਾਂ ਨੂੰ ਟੈਸਟ ਕੇਸਾਂ ਵਿੱਚ ਬਦਲਣਾ, ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਹੱਥ ਨਾਲ ਕੋਡ ਕਰਨਾ, ਉਹਨਾਂ ਨੂੰ ਚਲਾਉਣਾ, ਅਤੇ ਫਿਰ ਜਦੋਂ ਵੀ UI ਬਦਲਦਾ ਹੈ ਤਾਂ ਅਸਥਿਰ (flaky) selectors ਦਾ ਪਿੱਛਾ ਕਰਨਾ। ਰੱਖ-ਰਖਾਅ (maintenance) ਦਾ ਬੋਝ ਅਟੋਮੇਸ਼ਨ ਦੁਆਰਾ ਬਚਾਏ ਗਏ ਸਮੇਂ ਨਾਲੋਂ ਕਿਤੇ ਜ਼ਿਆਦਾ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਤੇਜ਼ੀ ਨਾਲ ਬਦਲਦੇ front-ends ਵਿੱਚ। ਟੈਸਟਿੰਗ ਫਰੇਮਵਰਕ ਵਿੱਚ ਸਿੱਧੇ ਤੌਰ 'ਤੇ AI agents ਨੂੰ ਸ਼ਾਮਲ ਕਰਕੇ, Playwright "fix-and-run" ਚੱਕਰ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ ਅਤੇ ਇੰਜੀਨੀਅਰਾਂ ਨੂੰ selector ਲੱਭਣ ਦੀ ਬਜਾਏ ਉੱਚ-ਪੱਧਰੀ ਟੈਸਟ ਰਣਨੀਤੀ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਤਿੰਨ agents ਦੀ ਵਿਆਖਿਆ
- Planner Agent – ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕੀ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ, ਇਸਦਾ ਕੁਦਰਤੀ ਭਾਸ਼ਾ (natural-language) ਵਿੱਚ ਵਰਣਨ ਲੈਂਦਾ ਹੈ, ਲਾਈਵ ਸਾਈਟ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਸੰਰਚਿਤ Markdown ਯੋਜਨਾ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਇਹ ਯੋਜਨਾ ਮੁੱਖ ਯੂਜ਼ਰ ਫਲੋਅ ਅਤੇ edge-case ਸਥਿਤੀਆਂ ਦੀ ਸੂਚੀ ਬਣਾਉਂਦੀ ਹੈ, ਜੋ ਕੋਡ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਸਪਸ਼ਟ ਬਲੂਪ੍ਰਿੰਟ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ।
- Generator Agent – Markdown ਯੋਜਨਾ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਅਤੇ ਚਲਾਉਣਯੋਗ TypeScript ਟੈਸਟ ਕੋਡ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਇਹ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਚੱਲ ਰਹੇ ਬ੍ਰਾਊਜ਼ਰ ਨਾਲ ਸੰਪਰਕ ਕਰਦਾ ਹੈ ਕਿ selectors ਸਥਿਰ ਹਨ, ਅਤੇ ਜੇਕਰ ਨਿਰਦੇਸ਼ ਦਿੱਤਾ ਜਾਵੇ ਤਾਂ ਇਹ Page Object Model (ਇੱਕ ਡਿਜ਼ਾਈਨ ਪੈਟਰਨ ਜੋ ਪੇਜ ਦੀ ਸੰਰਚਨਾ ਨੂੰ ਟੈਸਟ ਲੌਜਿਕ ਤੋਂ ਵੱਖ ਕਰਦਾ ਹੈ) ਦੀ ਪਾਲਣਾ ਕਰ ਸਕਦਾ ਹੈ।
- Healer Agent – ਟੈਸਟ ਰਨ ਦੀ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ; ਜਦੋਂ ਕੋਈ ਫੇਲ੍ਹ ਹੋਣਾ UI ਬਦਲਾਅ ਕਾਰਨ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਹ ਫੇਲ੍ਹ ਹੋਏ ਕਦਮਾਂ ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਉਂਦਾ ਹੈ, ਅਪਡੇਟ ਕੀਤੇ ਗਏ DOM ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਸਹੀ ਕੀਤਾ ਗਿਆ selector ਜਾਂ locator ਸੁਝਾਅ ਦਿੰਦਾ ਹੈ। ਇਹ ਸੁਝਾਅ ਇੱਕ ਡਰਾਫਟ ਪੈਚ (draft patch) ਵਜੋਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ ਜਿਸ ਨੂੰ ਡਿਵੈਲਪਰ ਸਵੀਕਾਰ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਬਦਲ ਸਕਦਾ ਹੈ।
ਇਹ agents ਇੱਕ “agentic loop” ਵਿੱਚ ਕੰਮ ਕਰਦੇ ਹਨ: Planner → Generator → Healer। ਹਰ ਕਦਮ ਅਗਲੇ ਕਦਮ ਨੂੰ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਇੱਕ ਸਵੈ-ਵਿਵਸਥਿਤ (self-adjusting) ਪਾਈਪਲਾਈਨ ਬਣਦੀ ਹੈ ਜੋ ਟੈਸਟ ਕੀਤੇ ਜਾ ਰਹੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਨਾਲ ਤਾਲਮੇਲ ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ।
ਇਹ ਆਮ AI ਟੂਲਸ ਤੋਂ ਕਿਵੇਂ ਵੱਖਰਾ ਹੈ
ਚੈਟ-ਸਟਾਈਲ ਮਾਡਲ ਜਾਂ ਕੋਡ-ਕੰਪਲੀਸ਼ਨ ਐਕਸਟੈਂਸ਼ਨਾਂ ਕੋਡ ਦੇ ਛੋਟੇ ਹਿੱਸੇ (snippets) ਬਣਾ ਸਕਦੇ ਹਨ, ਪਰ ਉਹਨਾਂ ਕੋਲ ਲਾਈਵ DOM ਅਤੇ ਖਾਸ ਪ੍ਰੋਜੈਕਟ ਕੌਂਫਿਗਰੇਸ਼ਨ ਤੱਕ ਸਿੱਧੀ ਪਹੁੰਚ ਨਹੀਂ ਹੁੰਦੀ। Playwright ਦੇ agents ਇੱਕ Model Context Protocol ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ ਜੋ ਮੌਜੂਦਾ ਪੇਜ ਦੀ ਸੰਰਚਨਾ ਅਤੇ ਟੈਸਟ ਫਰੇਮਵਰਕ ਸੈਟਿੰਗਾਂ ਨੂੰ ਮਾਡਲ ਵਿੱਚ ਸਟ੍ਰੀਮ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ AI ਉਹਨਾਂ ਸਹੀ ਤੱਤਾਂ (elements) ਬਾਰੇ ਸੋਚ ਸਕਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨਾਲ ਉਹ ਇੰਟਰੈਕਟ ਕਰੇਗਾ। ਇਸ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਕੋਡ ਨਾ ਸਿਰਫ਼ ਵਿਆਕਰਣਕ (syntactically) ਰੂਪ ਵਿੱਚ ਸਹੀ ਹੈ, ਸਗੋਂ ਜਨਰੇਸ਼ਨ ਦੇ ਸਮੇਂ ਅਸਲ UI ਨਾਲ ਜੁੜਿਆ ਹੋਇਆ ਵੀ ਹੁੰਦਾ ਹੈ।
ਕੁਝ ਕਮਾਂਡਾਂ ਨਾਲ ਸ਼ੁਰੂਆਤ ਕਰੋ
- ਇੱਕ Node ਪ੍ਰੋਜੈਕਟ ਸੈੱਟਅੱਪ ਕਰੋ ਅਤੇ Playwright ਨੂੰ ਇੱਕ ਡਿਪੈਂਡੈਂਸੀ ਵਜੋਂ ਜੋੜੋ।
- ਆਪਣੇ ਐਡੀਟਰ ਦੇ ਅੰਦਰ AI ਲੂਪ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ
npx playwright init-agents --loop=vscodeਚਲਾਓ। - ਇੱਕ ਮਿਨੀਮਲ “seed” ਟੈਸਟ ਲਿਖੋ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਲੋਡ ਕਰਦਾ ਹੈ; ਇਹ agents ਨੂੰ ਇੱਕ ਸਪਸ਼ਟ ਸੰਦਰਭ (context) ਦਿੰਦਾ ਹੈ।
- Planner ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਕੁਦਰਤੀ ਭਾਸ਼ਾ ਦੇ ਪ੍ਰੋਂਪਟ (ਜਿਵੇਂ ਕਿ, “Create a checkout flow covering discount codes”) ਦਿਓ, Generator ਨੂੰ ਸਕ੍ਰਿਪਟ ਤਿਆਰ ਕਰਨ ਦਿਓ, ਅਤੇ Healer ਨੂੰ ਇਸਨੂੰ ਸਹੀ ਰੱਖਣ ਦਿਓ।
ਟਿਪਸ ਜੋ agents ਨੂੰ ਬਿਹਤਰ ਕੰਮ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੇ ਹਨ
- Clear seed test – ਸ਼ੁਰੂਆਤੀ ਟੈਸਟ ਭਰੋਸੇਯੋਗਤਾ ਨਾਲ ਐਪ ਨੂੰ ਲਾਂਚ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਮੁੱਖ UI ਤੱਤਾਂ ਨੂੰ ਪ੍ਰਗਟ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ; ਅਸਪਸ਼ਟ ਐਂਟਰੀ ਪੁਆਇੰਟ Planner ਨੂੰ ਉਲਝਣ ਵਿੱਚ ਪਾ ਸਕਦੇ ਹਨ।
- Structured seed data – JSON fixtures ਪ੍ਰਦਾਨ ਕਰਨਾ ਜੋ ਉਮੀਦ ਕੀਤੇ ਗਏ ਇਨਪੁਟਸ ਦਾ ਵਰਣਨ ਕਰਦੇ ਹਨ, Generator ਨੂੰ ਉਚਿਤ selectors ਚੁਣਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
- Ask for Page Object Model – Generator ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ page objects ਬਣਾਉਣ ਲਈ ਕਹਿਣ ਨਾਲ ਸਾਫ਼ ਅਤੇ ਵਧੇਰੇ ਰੱਖ-ਰਖਾਅਯੋਗ ਕੋਡ ਮਿਲਦਾ ਹੈ।
- Treat AI output as a draft – ਕੋਡ ਕਮਿਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤਿਆਰ ਕੀਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ; agents ਅਜੇ ਵੀ ਬਿਜ਼ਨਸ-ਲੌਜਿਕ ਦੀਆਂ ਬਾਰੀਕੀਆਂ ਨੂੰ miss ਕਰ ਸਕਦੇ ਹਨ ਜਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਆਮ (generic) selectors ਬਣਾ ਸਕਦੇ ਹਨ।
