Szerző: Attila

  • Playwright 1.63 újdonságok

    Playwright 1.63 újdonságok

    Újdonságok

    A Playwright 1.63 frissítése megérkezett, és számtalan olyan funkciót hoz, amelyek lényegesen egyszerűbbé teszik a komplex tesztelési munkafolyamatokat, a párhuzamosítást és a hibakeresést.

    Az alábbiakban összefoglaltuk a kiadás legfontosabb újdonságait és fejlesztéseit.

    Key Features & Újdonságok

    1. Test Locks (Tesztreteszek)

    • Megoldást nyújt a közös erőforrások (pl. központi adatbázis, globális fiókbeállítások vagy külső API-k) használata miatti ütközésekre.
    • Lehetővé teszi zárolások (locks) megadását, így a tesztek automatikusan sorba állnak a kritikus erőforrások eléréséhez, elkerülve a párhuzamos futtatásból eredő hibákat.

    2. Step paraméterek és feliratok (test.step)

    • A test.step() mostantól elfogad egy params opciót, amellyel saját metaadatokat és paramétereket adhatsz át a lépésekhez.
    • A riportokban és a Trace Viewerben tisztábban nyomon követhetők az egyedi lépésekhez tartozó változók és hívási argumentumok.

    3. Aria Traces & Bővített Tracing

    • A Trace Viewer új aria pillanatképeket (snapshots) támogat.
    • Megkönnyíti a hozzáférhetőségi (accessibility) elemek és az ARIA fa állapotának elemzését hibakeresés közben.

    4. Új Scroll Opciók az akcióknál

    • A legtöbb akciónál (pl. .click()) megjelent egy új scroll opció ("auto" | "none").
    • Lehetőséget biztosít arra, hogy kikapcsold a Playwright automatikus „scroll-into-view” viselkedését, ha egy elem pozícióját manuálisan szeretnéd kezelni.

    5. Új teszt opciók és CLI parancsok

    • Nagyobb hozzáférhetőség tesztelése: Új reducedMotion, forcedColors és contrast opciók a testOptions alatt.
    • --add-reporter parancssori opció: Bővítheted a meglévő riporterek listáját ahelyett, hogy felülírnád a playwright.config.ts-ben megadottakat.
    • omitTags opció: Letisztultabb tesztcímek a riportokban (suppress-eli az automatikusan hozzáfűzött tegeket a list, line, dot, github és junit riportereknél).

    Eltávolított (Deprecated) API-k

    A 1.63-as verzió végleg kivezeti a régen elavultnak jelölt funkciókat:

    • Locator.ariaRef() (használd helyette a locator.ariaSnapshot() funkciót).
    • handle opció a BrowserContext.exposeBinding és Page.exposeBinding esetében.
    • logger opció a BrowserType.connect és connectOverCDP metódusoknál.
    • videosPath és videoSize konfig opciók (használd a recordVideo-t).

    Frissítés

    A legújabb verzióra való átálláshoz futtasd a projekt gyökerében az alábbi parancsot:

    Bash

    npm install -D @playwright/test@latest
    npx playwright install

    Test Lock minta

    A Playwright 1.63-ban megjelent Test Locks (Tesztreteszek) opció segítségével megakadályozhatod, hogy bizonyos tesztek egyszerre futjanak és ütközzenek a közös erőforrásokon (pl. ugyanazon tesztfiók beállításai, adatbázis vagy külső API-k), miközben a többi független teszt továbbra is párhuzamosan fut.

    Az alábbiakban bemutatjuk a legfontosabb használati módokat kódpéldákkal.

    1. Egyedi teszt zárolása egy megnevezett retesszel (lock)

    Ha van két vagy több teszted, amelyek ugyanazt a megosztott erőforrást módosítják, megadhatsz nekik egy azonos lock nevet az opciók között:

    TypeScript

    import { test, expect } from '@playwright/test';
    
    // Ez a teszt lefoglalja az 'admin-account' reteszt
    test('Adminisztrátor frissíti a cég nevét', { lock: 'admin-account' }, async ({ page }) => {
      await page.goto('https://example.com/admin/settings');
      await page.getByLabel('Cégnév').fill('Új Cégnév Kft.');
      await page.getByRole('button', { name: 'Mentés' }).click();
    
      await expect(page.getByText('Sikeres mentés')).toBeVisible();
    });
    
    // Ez a teszt megvárja, amíg az előző teszt elengedi az 'admin-account' reteszt
    test('Adminisztrátor módosítja az időzónát', { lock: 'admin-account' }, async ({ page }) => {
      await page.goto('https://example.com/admin/settings');
      await page.getByLabel('Időzóna').selectOption('Europe/Budapest');
      await page.getByRole('button', { name: 'Mentés' }).click();
    
      await expect(page.getByText('Sikeres mentés')).toBeVisible();
    });
    

    Hogyan működik? Amíg a Worker 1 az első tesztet futtatja az admin-account retesszel, addig a Worker 2 nem kezdi el a második tesztet. A két teszt egymás után fog lefutni, de a csomag többi, független tesztje (pl. termékkeresés, kosárkezelés) továbbra is teljesen párhuzamosan fut a többi workeren.

    2. Egész tesztcsoport zárolása (test.describe)

    Ha egy egész blokknyi teszt egyetlen közös erőforráson dolgozik, a lock opciót közvetlenül a test.describe() csoportra is ráteheted:

    TypeScript

    import { test, expect } from '@playwright/test';
    
    test.describe('Adatbázis konfigurációs tesztek', { lock: 'database-config' }, () => {
      
      test('Alapértelmezett nyelv beállítása', async ({ page }) => {
        // ... teszt kód
      });
    
      test('Rendszerértesítések kikapcsolása', async ({ page }) => {
        // ... teszt kód
      });
    
    });
    

    3. Több retesz egyidejű használata (Array)

    Egy teszt akár több megosztott erőforrás zárolását is kérheti egyszerre. Ehhez adj meg egy tömböt a lock paraméterben:

    TypeScript

    import { test, expect } from '@playwright/test';
    
    test(
      'Fizetési átjáró és szállítási beállítások egyidejű frissítése',
      { lock: ['payment-sandbox', 'shipping-api'] },
      async ({ page }) => {
        // Ez a teszt csak akkor indul el, ha mindkét retesz szabad
        await page.goto('https://example.com/admin/integrations');
        // ... teszt kód
      }
    );
  • Kraftie #88 – Mi itt egy nagy család vagyunk.

    Szinte minden munkahelyemen megéltem ezeket. Elég szomorú…

    Majd kifejtem a videóban említett pontokat saját tapasztalataim alapján.

    • Csak a pénz érdekli
    • Kiégett, nem lehet rá számítani
    • Ő csak 9-től 5-ig dolgozik
    • Mi itt egy nagy család vagyunk
    • Nem reagál jól a kritikára
    • Túl régóta van egy helyen, túl gyakran váltott
    • Nem illik bele a céges kultúránkba
    • Nem csapatjátékos
    • Mióta gyereke van, már nem olyan elkötelezett

    A céges toposzok tárháza igen gazdag, a családias légkörtől a csapatjátékon át, egészen a céges kultúráig. A 88. kraftie adás célja, némi cinizmussal bemutatni, hogy a cégek már a ló túloldalán ülnek.

    Jelenleg már ott tartunk, hogy az is baj, ha egy IT-szakember túl hosszú, és az is, ha túl rövid ideig dolgozott egy munkáltatónál. A munkavállalót nem érdekelheti a pénz, nem lehet kiégett, ne akarjon szülni, cserébe hallgathatja a csapatjátékról, a családias légkörről és a céges kultúráról szóló toposzokat.

  • Postman – The AI-native API Platform

    Ez a demó videó a Postman oldalán most kicsit megfogott. Azt hiszem, érdemes lesz ezt kipróbálnom valamikor, így maradjon itt ez, mint emlékeztető.

  • Playwright lokátorok

    Egy újabb, gyorsan elsajátítható dolog, a Playwright lokátorok kezelése.

  • Playwright & Typescript cheat sheet

    LinkedIn-en találtam. Hasznos tud lenni, bár az ilyet egérpadon tudnám elképzelni.

  • Kraftie #87 – IT munkaerőpiac: nincs visszaút 2022-be

    Hát igen. Elég kellemetlen ezt most megélni. De azért azt erős túlzásnak érzem, amikor a realitásérzését feszegetik. A piac folyton változik. A változás okát ne feszegessük, mert most n+1 lehetőséget lehet rá mondani, a valóság meg valahol középen lehet. Ami tény, hogy egyre több cég épít le, és/vagy nem indít új projektet, nem vesz fel új embereket. Ami érezhető, és a felszín alatt látható, hogy vannak olyan cégek is, akik elküldik az embereket, mert épp a Excel tábla meghúzott vonala alatt vannak, majd pedig később pótolják őket, a jelenlegi helyzet alapán olcsóbb munkaerővel.

    De nem kell aggódni. El fog tartani ez is pár évig, aztán valamikor megint fordul a kocka. Csak addig kell kibírni, akár fél lábon.

    Ami viszont szörnyű, hogy mindig a kimagasló IT bérekről beszélünk, és ezt a kimagaslót azzal támasztjuk alá, amely szektorok hozzáadott értéke, vagy épp a szükségek kompetencia közelébe sincs ennek. Nem, az IT sosem volt egy könnyű szakma, és ennek megfelelően jó bérezés volt, de más szektorokban is hasonlóan volt jó, vagy több esetben jobb bérezés, miközben a hozzáadott érteke mérhetően kevesebb, vagy épp a kompetencia közelébe se volt ennek.

    Na mindegy, lássuk meg, hogy mit hoz a jövő, legyünk bizakodóak!

    Leépítések és elpárolgó vidéki lehetőségek jellemzik az IT-szektort 2026 nyarán. Az új valóság már a szakma minden bugyrába eljutott, és egyre kevesebb az illúzió. Itt a 87. Kraftie adás.

    A nagy hazai IT-munkáltatók eddig elsősorban úgy sorvasztották a munkaerő-állományt, hogy a távozókat már nem pótolták. Nyár végére azonban a jelenség valódi elbocsátásokban öltött testet. Vidéken sem jobb a helyzet: míg az aranykorban a hazai nagyvállalatok sorra nyitották irodáikat a vidéki nagyvárosokban, mára ezek a telephelyek lassú párolgásra lettek ítélve. A történések azonban már senkit sem lepnek meg. A hazai IT-munkaerő, ha lassan is, de kezdi megismerni az új valóságot.

    És egy kis HUP.hu fórum…

  • Playwright struktúra

    Néha hasznos tud lenni, ámbár nem gyakran fordul elő, hogy a semmiből kell építkezni, de akkor jól tud jönni, ha követünk egyfajta standardot. Talán azt mondanám, hogy a lokátorokat nem tenném külön, de van az a méretű projekt, ahol van ennek létjogosultsága.

  • Kraftie #86 – Fejvadász tangó: a színfalak mögött

    Mit is mondhatnék, miután végignéztem? Egyfelől kerülgetjük azt a bizonyos forró kását, mert senki sem meri a valóságot kimondani, csak folyton utal rá, másfelől pedig, ha tényleg néhány másodperc alatt dől el egy-egy LinkedIn profi, akkor ott igen komoly bajok vannak. De hát érezhető már lassan 10 éve, hogy a hazai, de akár a külföldi IT-ban is felütötte a fejét valami furcsa hozzá nem értés, ami nem kicsit keseríti meg sokunk életet. Nem értem, hogy miért is játszanak mások megélhetésével.

  • Energiaellátási probléma és az otthoni munkavégzés

    Ma, amikor arra kér a kormány, hogy csökkentsük az energiafelhasználásunkat, és a vízfogyasztásunkat, már jó pár cég otthoni munkavégzést rendelt el a következő napokra, hetekre. Kicsit olyan, mint a Covid idején, bár az igen hosszú időszak volt. Én, mint aki 2015. óta különféle munkahelyeken tudtam itthonról dolgozni, sosem értettem a Covid utáni, illetve a jelenlegi időszakot, amikor egyre több irodai napra tartanak a cégek igényt, miközben valós indok nincs mögötte, hanem eszed, nem eszed, nem kapsz mást személet folyik. Szóval, ha végig gondoljuk – mert persze pro/kontra már mindenki szakértője lett a témának, hogy mikor is nagyobb a fogyasztás – én azt hiszem, hogy abba a munkakörökbe, mint amiben én is vagyok, újra engedni kéne, hogy a dolgozó csak akkor menjen be az irodába, amikor az elengedhetetlen.

    Miért is mondom ezt?

    Egyfelől sok időt és energiát lehet megtakarítani, ha csak az utazást nézzük, azon felül pedig kényelmesebb, komfortosabb, és munka mellett akár egy mosás – nem csúcsidőben – is elvégezhető, miközben, ha magamat nézem, sokszorosan hatékonyabb vagyok, ha itthonról dolgozom, mintha ugyanazt irodából tenném.

    Persze, sokan vissza is éltek ezzel, de ne legyünk naívak, az irodai munkavégzés során is igen sokan kerülik a munkát, szóval nem az otthoni munka végzés ennek az oka, hanem az egyén. Ha pedig az egyén így dolgozik, akkor ne mindenki mást büntessünk, hanem őt.

    Arról se feledkezzünk meg hogy Covid idején ódák zengek attól, hogy mennyivel hatékonyabb, és mindenki arra számított, hogy később is folytatódik ez a munkavégzés, erre – mint én is – sokan vidékre költöztek. Szóval nézzük csak. Kinek jó, hogy a munkavállaló több órát ingázik oda-vissza? Senkinek igazából, csak képtelenek vagyunk elszakadni céges szinten az irányítás mániától, ami arra kárhoztatja a munkavállalót, hogy többed magával üljön egy zárt – nyitható ablak nélküli – irodában, esetek nagy részében elszigetelten a többiektől, majd pedig munka végeztével irány haza. Lássuk be, ez nem normális.

    Szóval most, hogy újra látható, hogy a világ ilyen mértékű változása során egyre fenntarthatatlanabb az energiafelhasználás, szükség lenne, ahol lehet, az otthoni munkavégzés meghagyására. Így legalább talán kisebb tömeg ingázna reggel és este. Na de lássuk meg, hogy mit találnak ki azok, aki ezt az egészet irányítják.

    Nézzük is, hogy mit hoz nekünk a következő hét az időkép szerint.

    Néhány hír:

  • Kraftie #85 – Az AI ára

    Kollégákkal, barátokkal mi is sokat beszélgetünk erről, és hát egyelőre úgy tűnik, hogy az történik, amit ők mondanak. Várom azt a változást, amikor az bizonyosodik be, amire én számítok, de ez az AI téma nagyon érdekes változásokat tartogat.