Kategória: Riprot

  • Report Portal

    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:

    1. Töltsd le a hivatalos Docker Compose fájlt:
      Bash curl -LO https://raw.githubusercontent.com/reportportal/reportportal/master/docker-compose.yml
    2. Indítsd el a konténereket:
      Bashdocker compose up -d
    3. Nyisd meg a böngészőben a http://localhost:8080 címet.
    4. Lépj be az alapértelmezett adatokkal (User: superadmin, Jelszó: erebus).
    5. 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ó
    1. Telepítsd a pytest agentet:
      Bash pip install pytest-reportportal
    2. Hozz létre egy pytest.ini fá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'
    3. Futtasd a teszteket a ReportPortal plugin aktiválásával:
      Bash pytest --reportportal
    Példa: Playwright (Node.js / TypeScript) integráció
    1. Telepítsd az agentet:
      Bash npm install --save-dev @reportportal/agent-js-playwright
    2. Add hozzá a playwright.config.ts fájlhoz a riportert:
      TypeScript const 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]], });
    3. Futtasd a teszteket a megszokott módon:Bash npx playwright test