Hol is kezdjem? Ma is elégettem nem kevés tokent, bár szerencsére ezek ingyen vannak/voltak. Amit ki akartam próbálni, hogy telepítettem egy Rider-t, ami egy IDE, és nekem a .net miatt van rá szükség, majd pedig a Copilot-tal és Gemini-vel elkezdtem ebből egy Playwright, Nunit és .net projectet faragni. Aztán jött a szokásos nehézség, kell egy jelentést generáló eszköz, ami többet vagy épp másképpen tud, mint az Allure. Az AI azt mondta, h Report Portal.
Nem volt mit tenni, elkezdtem belefaragni ezt, és az API kulcs generáláson kívül minden lépést az AI CLI-on keresztül csináltam meg. Szerintem elég pofás lett a végeredmény, de majd erről egy másik bejegyzésben írok részletesebben.
Most inkább megmutatom, hogy mit tud a Report Portal.
Mit mond a Gemini?
A ReportPortal egy nyílt forráskódú (Open Source), AI-alapú tesztriportáló és analitikai platform. Elsősorban automatizált tesztek eredményeinek gyűjtésére, vizualizálására és elemzésére szolgál.
Főbb jellemzők és előnyök
- Központi dashboard: Egységes felületen gyűjti össze a különböző tesztkeretrendszerekből és CI/CD csatornákból származó teszteredményeket.
- AI / Machine Learning alapú hibaelemzés: A korábbi futtatások alapján automatikusan felcímkézi a hibákat (pl. termékhiba, teszthiba, infrastruktúra-probléma), így drasztikusan csökkenti a manuális triázsolásra fordított időt.
- Valós idejű analitika: A tesztek futása közben élőben láthatók az eredmények, trendek és statisztikák.
- Integrációk: Szorosan együttműködik hibakövető rendszerekkel (Jira, Rally, Redmine) és CI/CD eszközökkel (Jenkins, GitLab CI, GitHub Actions).
A ReportPortal architektúrája
A ReportPortal mikroszolgáltatás-alapú architektúrát használ, amely több konténerből áll (API Service, UI, Index Service/AI Engine, PostgreSQL, RabbitMQ, OpenSearch/Elasticsearch). Ezért a legegyszerűbb és legajánlottabb módja a lokális futtatásnak a Docker / Docker Compose.
Integráció lokális projektbe (Lépésről lépésre)
1. Lokális ReportPortal szerver elindítása (Docker Compose)
Helyi teszteléshez futtasd a ReportPortal szervert a saját gépeden:
- Töltsd le a hivatalos Docker Compose fájlt:
Bashcurl -LO https://raw.githubusercontent.com/reportportal/reportportal/master/docker-compose.yml - Indítsd el a konténereket:
Bashdocker compose up -d - Nyisd meg a böngészőben a
http://localhost:8080címet. - Lépj be az alapértelmezett adatokkal (User:
superadmin, Jelszó:erebus). - Hozz létre egy új Projectet, és a profilbeállításoknál másold ki az API Access Token-t.
2. Tesztkeretrendszer integrálása a projektedbe
A ReportPortal szinte minden népszerű nyelvhez és tesztkeretrendszerhez biztosít kliens könyvtárat (Agent):
- Java: JUnit, TestNG, Cucumber
- Python: Pytest, Robot Framework, Behave
- JavaScript / TypeScript: Playwright, Cypress, Jest, Mocha
- .NET: NUnit, xUnit, SpecFlow
Példa: Pytest (Python) integráció
- Telepítsd a pytest agentet:
Bashpip install pytest-reportportal - Hozz létre egy
pytest.inifájlt a projekt gyökerében:
Ini, TOML[pytest] rp_api_key = az_a_token_amit_a_profilodban_masoltal rp_endpoint = http://localhost:8080 rp_project = a_projekt_neve rp_launch = Helyi_Pytest_Futtatas rp_launch_attributes = 'Env:Local' 'Type:Smoke' - Futtasd a teszteket a ReportPortal plugin aktiválásával:
Bashpytest --reportportal
Példa: Playwright (Node.js / TypeScript) integráció
- Telepítsd az agentet:
Bashnpm install --save-dev @reportportal/agent-js-playwright - Add hozzá a
playwright.config.tsfájlhoz a riportert:
TypeScriptconst RPconfigFile = { apiKey: 'az_a_token_amit_a_profilodban_masoltal', endpoint: 'http://localhost:8080/api/v1', project: 'a_projekt_neve', launch: 'Playwright_Helyi_Futtatas', attributes: [{ key: 'Env', value: 'Local' }], }; export default defineConfig({ reporter: [['@reportportal/agent-js-playwright', RPconfigFile]], }); - Futtasd a teszteket a megszokott módon:Bash
npx playwright test
Vélemény, hozzászólás?
Hozzászólás küldéséhez be kell jelentkezni.