jak rozwiazac taki problem, czesto mi blad asercji wystepuje, randomowo, niestabilne Error: Timed out 5000ms waiting for expect(locator).toHaveText(expected) Locator: locator('#show_messages') Expected string: "Doładowanie wykonane! 15,00PLN na numer 500 xxx xxx" Received string: "Brak wiadomości" Call log: - expect.toHaveText with timeout 5000ms - waiting for locator('#show_messages') 9 × locator resolved to <span class="highlight" id="show_messages" data-testid="message-text">Brak wiadomości</span> - unexpected value "Brak wiadomości" 55 | 56 | // Assert > 57 | await expect(page.locator('#show_messages')).toHaveText(expectedMessage); | ^ 58 | 59 | }); 60 | at C:\Projects\demo-bank-tests\tests\pulpit.spec.ts:57:54
@BenShow-j8kКүн бұрын
co ciekawe, jezeli uzyje --headed to o wiele rzadsze repro
@jaktestowacКүн бұрын
@BenShow-j8k swietne pytanie! W tym przypadku testowana przez nas strona jest faktycznie niestabilna i raz na kilka wykonań testu pojawia się błąd z niepoprawną wiadomością. Ciężko powtórzyć ten przypadek (szczególnie manualnie!), dlatego jeszcze nie udało nam się go naprawić. Jednym z rozwiązań jest dodanie retry - czyli powtórzenia testu, gdy zakończy się niepowodzeniem. Jesli chcemy ustawić retry dla testów dla describe, możemy skorzystać z takiej konstrukcji: ``` test.describe.configure({ retries: 2 }); test('simple payment', async ({ page }) => { // Arrange ``` Plusem tego jest otrzymanie informacji, czy w ogóle ta funkcjonalność działa, a sam test zostanie odpowiednio oznaczony (jako flaky) i w przyszłości możemy wrócić do analizy przyczyny :) Jest to troche bardziej zaawansowana technika związana z zarządzaniem testami i wynikami i powinna być stosowana z rozwagą. Bo flaky testy oznaczają, że nasze testy albo aplikacja działają niestabilnie. Jednak w tym przypadku płatności - wiemy, że aplikacja jest niestabilna (możemy założyć, że "zostało to zgłoszone w projekcie") 😀 Daj prosze znac, czy to ustabilizowało ten test u Ciebie :)
@BenShow-j8k9 сағат бұрын
@@jaktestowac sprawdze :)
@jaktestowac5 сағат бұрын
@BenShow-j8k i koniecznie daj znać :)
@kacper4737Күн бұрын
narazie co prawda zaczynam swoją przygodę , ale przy takich filmikach od razu czuje ze dam radę , pozdrowienia chłopaki !
@jaktestowacКүн бұрын
Dzięki! Z nami zbudujesz swój pierwszy framework do testów automatycznych i jednocześnie poznasz kilka dobrych praktyk (np. DRY, AAA i POM)😉 Daj nam znać jak ukończysz materiały jak Ci się podobały i czy coś moglibyśmy usprawnić😉 Po tym kursie rzuć tez zerknąć na ciut bardziej zaawansowane tematy o różnych mechanizmach, lokalizowaniu elementów i o tym jak działa Playwright: kzbin.info/aero/PLfKhn9AcZ-cAcpd-XN4pKeo-l4YK35FDA 😁
@BenShow-j8k6 күн бұрын
Mam taki problem, VSC pokazuje mi czesto taki blad: SyntaxError: tests\test-1.spec.ts: Unexpected token (10:0)playwright. Jesli uruchomie z tym test, to test przejdzie, i jesli wylacze i uruchomie ponownie VSC to bladu nie ma. Mam tak jakiś czas, jak stworzyłem obiekt, ktory dodałem do login i pulpit to mialem tez taki problem.
@jaktestowac6 күн бұрын
Jakiś czas temu zgłosiliśmy do Playwright błąd, który polegał na wyświetlaniu błędów typu SyntaxError. Sprawdź proszę nasze nagranie, w którym dokładnie opisujemy ten przypadek: jaktestowac.pl/lesson/pw5s11l02/ i daj nam znac czy masz taki sam błąd :) Z tego co widzę w repozytorium Playwright to poprawka nie została jeszcze wciągnięta do oficjalnej wersji.
@BenShow-j8k6 күн бұрын
@@jaktestowac Wiesz co u mnie to wyglada bardzo podobnie, tylko chyba inforamcja lekko inna, ale błąd w skladni też lubi sobie polecieć np na }); na końcu kodu. Teraz pokazuje mi co innego niż wczoraj: SyntaxError: tests\test-1.spec.ts: Missing initializer in const declaration. (9:6)playwright. ale po przeładowaniu testów tak samo znika jak na Waszym bug'u. Wszystko podniesione do najwyzszej wersji ;) + złapałem od Was HELPERS ;)
@jaktestowac6 күн бұрын
@@BenShow-j8k podejrzewamy, że przyczyna może być taka sama (u nas też w różnych miejscach się pojawiały błędy Syntax Error) - tu nie pozostaje za dużo, jak poczekać na poprawkę w Playwright 😉 Helpers - świetnie! 😀 Jeśli miałbyś pomysły na usprawnienia, nowe funkcje, lub jeśli znajdziesz jakiś błąd - śmiało daj nam znać 😁
@noxadam17 күн бұрын
Witam. Otrzymuję poniższy błąd podczas egzekwowania testów: Error: page.goto: Protocol error (Page.navigate): Cannot navigate to invalid URL Call log: - navigating to "/", waiting until "load" Any ideas?
@jaktestowac17 күн бұрын
Hej! Ten błąd oznacza, że w pliku playwright.config.ts prawdopodobnie jest niepoprawnie ustawiona wartość dla baseURL (w sekcji use) Powinna ona wskazywać na testowaną stronę.
@jaktestowac17 күн бұрын
Przykład takiego ustawienia znajdziesz tutaj: github.com/jaktestowac/playwright_automatyzacja_wprowadzenie/blob/b1dea855a39e4984772d830b4b40c4884e722907/S03_pom/L06_pom_refactor/playwright.config.ts#L39
@noxadam17 күн бұрын
@@jaktestowac zgadza się :) dzięki za pomoc! i świetny kanał ;)
@solidus2360Ай бұрын
Panowie, na której grupie z testami na FB się udzielacie? Czy jest to może [Testowanie oprogramowania - Materiały | Porady]?
@jaktestowacАй бұрын
Udzielamy się głównie na 2 grupach: "Testowanie oprogramowania" oraz "Playwright.DEV - Polish Community". Na grupie "Testowanie oprogramowania - Materiały | Porady" bywamy sporadycznie. PS. Znajdziesz też nas na naszym nowym serwerze Discord o automatyzacji i Playwright😉Ogłosiliśmy go przedpremierowo na grupie "Playwright.DEV - Polish Community", a jutro (03.12) na webinarze będzie jego oficjalna premiera 😉
@solidus2360Ай бұрын
@@jaktestowac Dzięki za odpowiedź. Dołączę gdzie się da, aby mieć was na oku, hehe.
@emiliaf35882 ай бұрын
Sztos chłopaki 😊
@jaktestowac2 ай бұрын
@@emiliaf3588 dzięki 🤩
@bartoszg99822 ай бұрын
Kurczę jestem pod wrażeniem pracuję jako QA 10 lat, myślałem że automaty są poza moim zasięgiem (próbowałem się nauczyćprogramowania 10 razy miałem na studiach i w szkole średniej i nic) a teraz jest nadzieja i na prawdę dużo frajdy sprawia nauka. MEGA!
@jaktestowac2 ай бұрын
Wow! Dzięki za szczere podzielenie się swoim doświadczeniem❤ Mam nadzieję, że natchnie innych do działania. Tymczasem, życzę na maxa wytrwałości i eksploracji wszystkich naszych materiałów gdyż możesz zbudować świetne podstawy by ruszyć z pełnoskalową automatyzacją w projekcie.
@jaktestowac2 ай бұрын
❗Uwaga! W najnowszej wersji TypeScript doszły nowe reguły sprawdzające poprawność kodu!❗ Aktualnie wskazane jest inicjalizowanie zmiennych w konstruktorze. W naszym przypadku oznacza to, że inicjalizację lokatorów musimy przenieść do konstruktora☝ O tych zmianach poczytasz w lekcji na naszej stronie: jaktestowac.pl/lesson/pw1s03l03/ 😉
@Naqaraa24 күн бұрын
Cenna informacja. Zacząłem się głowić niedawno o co biega.
@jaktestowac24 күн бұрын
@@Naqaraa zmiany są kosmetyczne ale staramy się o nich informować, w razie kłopotów zapraszamy też na nasz Discord: Automatyzacja i Playwright Polska!
@squirrela862 ай бұрын
Jak zwykle super materiał
@jaktestowac2 ай бұрын
Dzięki wielkie! 😁
@marekbrtkwcz3 ай бұрын
A co w przypadku jeśli chcemy filtrować po tekstach zawartych w dwóch lub trzech kolumnach??
@jaktestowac3 ай бұрын
Bardzo dobre pytanie! Masz możę taki przykład publicznie dostepny? :) Jednym ze sposobów jest kilkukrotne wywołanie metody filter(), która z każdym wywołaniem będzie nam zawężała liczbę znalezionych wierszy. Np. aby pobrać wiersz `John Doe Poland 20` z tabeli: User Country Value John Doe Poland 100 John Doe Poland 20 Jane Doe Poland 100 Jane Doe Poland 20 możemy rozpisać kod w Playwright w taki sposób: const firstCellText = "John Doe"; const secondCellText = "Poland"; const thirdCellText = "20"; const buttonLocator = page .getByRole(rowRole) .filter({ hasText: firstCellText }) .filter({ hasText: secondCellText }) .filter({ hasText: thirdCellText }) Daj prosze znać czy o coś takiego Ci chodziło :)
@marekbrtkwcz3 ай бұрын
@@jaktestowac Czyli takie łączenie filtrowania działa jak warunek && ?
@jaktestowac3 ай бұрын
@@marekbrtkwcz myślę, że można tak o tym pomyśleć :) Inną opcją wizualizacji, jak działa kilka takich metod filter, jest zwężanie zbioru elementów przy każdym kolejnym zastosowaniu metody filter() :)
@przemyslawleszczynski1463 ай бұрын
Hej, nie będę oryginalny i na wstępie chciałem podziękować za mega ciekawy i wartościowy content :) Natomiast mój komentarz tyczy się zmian w konfiguracji playwright i dodanie klucza testIDAttribute. Nie wiem czy to jest kwestia mojej wersji samego Playwright'a lub node'a, ale w moim przypadku test używający customowych atrybutów 'pw-test' przeszedł od razu bez konieczności modyfikacji pliku konfiguracyjnego. Korzystam z następujących wersji: "devDependencies": { "@playwright/test": "^1.47.2", "@types/node": "^22.7.2" }
@tmk21033 ай бұрын
A czy eslint nie wypluje błędu za używanie pętli w teście ? Czy to nie jest zła praktyka ?
@jaktestowac3 ай бұрын
Dzięki za to pytanie! Pętle w testach nie są złą praktyką :) Konstrukcja ta pozwala na sprawdzenie np. wielu przypadków lub wykonaniu wielu akcji na elementach. W tej lekcji dodatkowo stosujemy expect.soft, który jest idealny do sprawdzania niezależnych od siebie przypadków :) Równiez - tutaj bazujemy na uproszczonym przypadku, aby lepiej zobrazować różne podejścia. A w projekcie - trzeba zawsze rozważyć czy chcemy zastosować dane rozwiązanie :) Możliwe, że chodzi o conditionals (czyli np if) - to jest zazwyczaj faktycznie niezalecana praktyka w testach.
@Crazozourus4 ай бұрын
@TheTreborMedia4 ай бұрын
cool
@TheTreborMedia4 ай бұрын
cool
@TheTreborMedia4 ай бұрын
cool
@rafalrymek11424 ай бұрын
Nie korzystam, ale podobaja mi sie te wtyczki. Jak tylko bede z TS + Playwright dzialal bede instowal :) Swietna robota :)
@jaktestowac4 ай бұрын
Dzięki wielkie! Wtedy śmiało podeślij nam feedback po pracy z nimi😀
@TheFrancboss4 ай бұрын
Dobra robota :)!
@jaktestowac4 ай бұрын
Dzięki wielkie! 🙇♂ Śmiało korzystaj i daj nam znać co Ci się podobało i jak możemy je dalej rozwijać i usprawniać 😉
@ukaszl74274 ай бұрын
mega ciekawie opowiadasz, widać, że sam masz zajawkę! a sam kurs bardzo ciekawy i zawierający masę praktycznych porad. Bardzo dziękuję i pozdrawiam Twórców!
@jaktestowac4 ай бұрын
Dzięki wielkie i mega się cieszymy, że podoba Ci się nasz materiał! 😁 Staramy się dzielić naszą pasją do automatyzacji w każdym filmie i materiale, więc takie słowa to dla nas ogromna radość! Pozdrawiamy😁
@RafalPrzetakowski4 ай бұрын
Robicie świetną robotę! Jak tylko dorzucicie angielskie napisy, z radością pokażę Wasze filmiki moim anglojęzycznym testerom, z którymi współpracuję. Świetne treści zasługują na szeroką widownię!
@jaktestowac4 ай бұрын
Mega dzięki! 🙇♂ To jest faktycznie coś o czym musimy pomyśleć😀 Dzięki za sugestię!
@typrzemek4 ай бұрын
@RafalPrzetakowski a napisy generowane automatycznie z you tube ? 1 min obejrzałem i całkiem dobrze tłumaczy
@krissusok42584 ай бұрын
Hej. Fajny film tylko mam jedną sugestię: mam wasz kurs i zarówno w darmowych materiałach jak i w kursie trochę przeszkadza jakość dźwięku mikrofonu z twoich słuchawek. Przydałby Ci się taki mikrofon jak ma Przemek. Te słuchawki to trochę jak z Counter Strike. Ale ogólnie zostawiam łapkę w górę. Pozdrawiam
@jaktestowac4 ай бұрын
Mega nas cieszy, że podoba Ci się nasz materiał i wielkie dzięki za feedback!🙇♂ To czekają nas nowe zakupy w najbliższym czasie 😀
@jaktestowac4 ай бұрын
Jeśli trafisz na problemy z lokalizowaniem zamknięcia okna (pokazanym na wideo w 19:50) - sprawdź podlinkowaną w opisie lekcję tekstową. Na samym początku lekcji dodaliśmy porady!
@juliatsalko73467 ай бұрын
Dziękuję, opowiadasz w sposób jasny i interesujący
@jaktestowac7 ай бұрын
Dzięki wielkie! Ciesze się, że podoba Ci się nasz materiał🙇♂
@juliatsalko73467 ай бұрын
Świetny materiał! Dzięki)
@jaktestowac7 ай бұрын
Dzięki! Cieszymy się, że Ci się podoba😁
@PatrycjaTestuje927 ай бұрын
PIERWSZA KLASA :)
@jaktestowac7 ай бұрын
Mega dzięki - to bardzo wiele dla nas znaczy! Powodzenia w kolejnych lekcjach🫡
@fromscratch_pl8 ай бұрын
Genialne! Idealny głos i mimika do prowadzenia szkoleń. Świetna dynamika. Merytorycznie mega. Dziękuje za inicjatywe.
@jaktestowac8 ай бұрын
Bardzo dziękuję za każde dobre słowo! Miłej nauki życzę i determinacji w rozwoju w kolejnych dziesiątkach lekcji ❤
@IdziM8 ай бұрын
Świetna robota Panowie! Idealny materiał do zapoznania się z podstawami Playwrighta np.w ciągu wolnego weekendu. Podobało mi się szczególnie stopniowe zwiększanie stopnia zaawansowania. Zamiast tłumaczyć na starcie AAA, POM etc. to pokazaliście jak zacząć klikać z Playwright i kolejne lekcje same się oglądały, już nie jako forma rozbudowania/usprawnienia istniejących rzeczy. Dziękuję! :D
@jaktestowac8 ай бұрын
Ogarnięcie w weekend to świetne tempo i niezła determinacja! W takim tempie zrobiłbyś cały Program w około 2 tygodnie (pracując po 8h dziennie) - sami bylibyśmy ciekawi takiego eksperymentu 😁
@IdziM8 ай бұрын
@@jaktestowac pracuję jako tester manualny, znam podstawy programowania i HTML, więc nowością jest tylko sam Playwright, który pokazujecie, że może być bardzo przyjemny 😊 Co do eksperymentu, to może się uda przy następnej edycji kursu, ale to raczej 4 tygodnie po 4h dziennie 😁
@jaktestowac8 ай бұрын
@@IdziM To spore wyzwanie ale warto je podjąć 😉 Szczególnie, że w pełnym Programie jest dużo większy przekrój tematów. Jeśli miałbyś jakieś pytania lub np. budżet szkoleniowy który nie może czekać do kolejnej edycji to śmiało do nas pisz na maila.
@IdziM8 ай бұрын
Świetny materiał! Bardzo fajne podejście, że nie zaciemniałeś całości tematu wprowadzaniem testów negatywnych, tylko odesłałeś do wyczerpującego zasobu na ten temat.
@jaktestowac8 ай бұрын
Dzięki! W pełnym Programie Playwright staramy się dalej podążać ścieżką otwartości na dane rozwiązania w odróżnieniu od dogmatycznego podejścia.
@bartek_66008 ай бұрын
Warto pamiętać, że od którejś wersji Playwright, tagi można dodawać w inny sposób, tj. przez przekazanie atrybutu tag do testu lub grupy testów. Wtedy skrócimy trochę tą nazwę - nie będzie @tag w nazwie testu, tylko będzie nazwa tagu w etykiecie obok nazwy testu.
@jaktestowac8 ай бұрын
Dokładnie tak 😉 O nowszym sposobie tagowania testów opowiemy w następnej lekcji i pokarzemy praktyczne przykłady. Tam tez przyjrzymy się plusom i minusom nowego sposobu 😉
@ewarostecka-rzonca94658 ай бұрын
Super odcinek 😀Napakowany wiedzą i spostrzeżeniami .😄 Dodam... 1.Zgodnie Coach'owie podkreślają znaczenie samorozwoju, samorealizacji i przekazywania wiedzy jako kluczowych elementów spełnienia życiowego. To bardzo koreluje z wartościami ludzi już w pewien sposób spełnionymi zawodowo, a także tymi stanowiącymi fundamenty "jaktestowac pl". Piszę to w kontekście SMART i tego, że nie możemy stać w sprzeczności w wartościami, które tworzą naszą tożsamość. 2.Terapia 😀Robert Rutkowski (terapeuta uzależnień, ale nie tyko) mówi, że każdemu by się przydała, bo każdy wyrastał w pewien sposób patologicznej rodzinie 😁 Śmieję się, ale temat poważny. Z tym, że należy sobie zdać sprawę, że "innowacje", które obecnie wprowadzamy do wychowania też po czasie uznamy za patologiczne, bo nie da się życia przeżyć perfekcyjnie i bez błędów. 3.Spektrum Intro i Ekstrawertyzmu - doszkolić możemy pewne obszary, ale pewne wrodzone cechy nam zostaną i powinniśmy to uszanować i pozwolić sobie na czas, w którym będziemy mogli wyrazić się w zgodzie ze swoją naturą (dla nabrania energii). Warto o tym mówić, bo o ile pamiętam społeczeństwo jest nadreprezentowane (chyba do 75%) przez ekstrawertyków. 🙂 4.Rodzaje agresji w zespołach i ich eliminacja. Powiem tak, przez parę lat brałam udział w badaniach dot. dzieci w szkołach. Nie były to moje koncepcje ale odpowiadałam tam za obróbkę statystyczną i współ-opracowywałam wnioski. Wynik: Nie da się zmniejszyć w zespole agresji, można zmienić jeden rodzaj agresji na inną. U dzieci to lepiej widać, jak agresja fizyczna przechodzi w słowną a potem bierną. Mówi się, że agresja ma płeć. Fizyczna jest przyrodzona panom a bierna paniom. Czy ten czynnik płci w zespole nie wpływa także na jego analizę?
@krzysiek33d9 ай бұрын
Nie mówi się "teście" tylko "teściowie" - wiem głupi komentarz, ale nie mogłem się powstrzymać xD
@jaktestowac9 ай бұрын
Szczególnie przy failującym teściu może nastapić potoczne odzwierciedlenie tego typu relacji😁
@krzysiek33d9 ай бұрын
Super robota, tak trzymaj :) !!!
@jaktestowac9 ай бұрын
Wow! Dzięki :D
@Jumbarilla9 ай бұрын
Całkiem niedawno nadziałem się na waszą stronę I zacząłem bawić się PW. Ależ to fajne narzędzie, i do tego jest biblioteka w Pythonie. Alleluja! Mam jednak jedno pytanie dotyczące lokatorów. Czy można zagnieżdżać je w sobie?
@jaktestowac9 ай бұрын
Hej! Witaj na pokładzie🫷 Nie ma problemów z zagnieżdżeniem - na lokatorze możesz po prostu zrobić .locator() lub inne typy jak getByText() i dodawać kolejne doprecyzowania.
@ewarostecka-rzonca94659 ай бұрын
Temat nie na jeden raz :) Do obejrzenia na początku tworzenia lub po utworzeniu wstępnego repozytorium ale również po pewnym czasie aby utrzymywać jego jakość i rozwijać go we właściwym kierunku. Wiedza cenna i dobrze, że można do niej po jakimś czasie powrócić. Bardzo dziękuję :)
@jaktestowac9 ай бұрын
Super podsumowanie - zdecydowanie warto tutaj działać ciągle usprawniając swoje rozwiązania dzięki temu można uzyskać niesamowitą jakość!
@ewarostecka-rzonca94659 ай бұрын
Bardzo wartościowa rozmowa, merytorycznie opracowana i podzielona na przejrzyste obszary. PRO TIPy z końca zapisałam i zacznę wdrażać w życie. Rozpocznę według kolejności zaproponowanej, gdyż kolejność w tym przypadku ma znaczenie. Bardzo dziękuję :) Świetna robota :) (klimat Sondy - wyczuwalny ;) )
@jaktestowac9 ай бұрын
Super, że się podobało i czujesz wartość. Oczywiście czekamy na info jak się tipy sprawdziły i co najlepiej u Ciebie zadziałało. Z prywatnego doświadczenia wiem, że ultra przygotowanie do rekrutacji daje niesamowite rezultaty. I jeszcze Sonda - dzięki za to porównanie, to był mistrzowski program. Pozdrawiam Przemek
@ewarostecka-rzonca94659 ай бұрын
Postaram się aproksymować do tego ultra przygotowania 😊
@Krejwik10 ай бұрын
Nie działa mi opcja record at cursor, bo pokazuje się pusta przeglądarka (about:blank). Test i debug działa normalnie. Hmm tj nagrywa się w zaznaczonym miejscu ale nie przechodzi przez poprzednie kroki
@jaktestowac10 ай бұрын
Możliwe, że kiedyś działało to odrobinę inaczej. Teraz zdecydowanie polecam uruchomienie testów z przeglądarką do odpowiedniego miejsca + umieszczenie kursora w odpowiednim miejscu w kodzie. Dopiero wtedy efektywnie użyjemy opcji Record at cursor.
@Borsuk_10 ай бұрын
Info dla potomnych - dla Chrome w wersji 114 wzwyż nie dodajemy argumentu do drivera, tzn piszemy po prostu driver = webdriver.Chrome(). Nie musimy też w ogóle pobierać webdrivera.
@jaktestowac10 ай бұрын
Dzięki wielkie za komentarz! :) Na naszej stronie w lekcji tekstowej dodaliśmy informacje o zmianach w Chrome wraz z odrobiną dokumentacji dla zainteresowanych - jaktestowac.pl/lesson/pt1-mk1-05-drugi-kod-korzystamy-z-modulu-webdriver/
@bajdak12311 ай бұрын
Witam. Po uruchomieniu kody przegladarka wlacza sie na 1 sekunde i wylacza.
@jaktestowac11 ай бұрын
Hej! Zobacz info w lekcji tekstowej, znajduje się tam sporo porad :D jaktestowac.pl/lesson/pt1-mk1-05-drugi-kod-korzystamy-z-modulu-webdriver/ Twój problem prawdopodobnie wiąże się z automatycznym zamykaniem przeglądarki. W najnowszych wersjach Selenium i Chromedriver przeglądarka jest automatycznie zamykana na końcu skryptu. Jest to w poprawne i pożądane zachowanie. Dodaj na końcu skryptu kod opóźniający zamknięcie: time.sleep(5) # Sleep for 5 seconds
@bajdak12311 ай бұрын
@@jaktestowac ok, dzięki za szybką odpowiedź. Tak myślałem, bo widziałem podobne rozwiązania w dokumentacji.
@SławomirKosecki11 ай бұрын
Mega dużo można się nauczyć. Jesteś wielki :)
@jaktestowac11 ай бұрын
Dzięki! Zachęcam do mocnej kontynuacji rozwoju z Playwright i TypeScript💪 gdyż mega mi się pracuje z tym narzędziem i coraz więcej firm dostrzega potencjał Playwright.
@mioszszczerbiak861211 ай бұрын
@jaktestowac mam nietypowy błąd, nie radzi mi sobie z polskimi znakami. toHaveText('hasło ma min. 8 znaków') " Expected string: "has�o ma min. 8 znak�w" Received string: "hasło ma min. 8 znaków" " Jakiś pomysł jak to rozwiązać?
@jaktestowac11 ай бұрын
To może być problem z kodowaniem znaków. Mając otwarty plik z testami w VSCode sprawdź co widnieje w prawym dolnym rogu (status bar) po prawej od info o wcięciach linii (w info o wcięciu linii masz wartość w stylu: Spaces 2 lub Tab Size 2). W polu kodowania znaków zapewne masz co innego niż UTF-8 (Windows 1252, ANSI) . Wystarczy, że klikniesz to pole i zmienisz kodowanie dla tych plików (Save with encoding). Polskie znaki będą zmienione więc musisz je teraz ręcznie naprawić - ponownie wpisać. Uruchom testy ponownie i zobacz czy pomogło
@mioszszczerbiak861211 ай бұрын
@@jaktestowac Dziękuję bardzo za pomoc. Miałem ustawione Windows 1250.
@olgierdvoneverec683711 ай бұрын
Ten test jest flaky. Wystarczy w asercji w dodać kilka spacji pomiędzy wyrazami i przejdzie pozytywnie.
@jaktestowac11 ай бұрын
Słuszne spostrzeżenie! :) Jest to spowodowane tym, jak działa metoda toHaveText w Playwright. Obecnie metoda ta (jesli przekażemy jako expectedValue wartość typu string) normalizuje tekst, zarówno ten który przekazujemy, jak i ten który sprawdzamy. Tzn. są usuwane dodatkowe spacje, znaki nowych linii etc. Jeśli chcemy test był porównywany 1:1 - to musimy użyć wyrażenia regexp np. await expect(locator).toHaveText(/Welcome, Test User/) await expect(pulpitPage.messageText).toHaveText(new RegExp(expectedMessage)); PS. Raczej nie nazwałbym tego testy flaky, gdyż flaky test daje różne rezultaty bez naniesionych zmian w kodzie :)
@xxxxlxxxxify11 ай бұрын
Czy nie dało się jeszcze bardziej podbić basu? :P
@jaktestowac11 ай бұрын
Myśleliśmy o tym ale nie można podmieniać filmików na YT :D
@vivet911 ай бұрын
Na początku filmu podajecie # dla klasy CSS, a . dla id, a później prezentowane jest to odwrotnie. Poza tym jasno przedstawiony materiał :)
@jaktestowac11 ай бұрын
Dzięki za zwrócenie uwagi - oczywiście . (kropka) jest dla klasy, a # (hash) dla id. Śmiało dawaj znać jak coś zwróci twoją uwagę - dzięki temu inni testerzy będą mogli uzupełnić wiedzę :)
@MaciejKruczek-p7d Жыл бұрын
Czasami sporadycznie pomimo napisania poprawnie kody testu, wykonanie "wyrzuca" błąd - u mnie to było błąd wskazanego elementu. Wykonanie testu drugi raz już na zielono. Kolejne wykonania również "zielone". COś jakby PW był za szybki w odniesieniu do apki
@jaktestowac Жыл бұрын
Z racji tego, że aplikacja i serwis gdzie jest ona hostowana posiadają pewne ograniczenia, czasem zdarzają się sytuacje o których wspominasz. Celowo nie naprawiamy tych niestabilności aby umożliwić doświadczenia zbliżone do realiów projektowych, w których nie wszystko jest idealne.
@MaciejKruczek-p7d Жыл бұрын
Panowie ... SZACUN !!!!. Naprawdę bardzo czytelnie przekazana wiedza. Oby tak dalej. Pozdrawiam
@jaktestowac Жыл бұрын
Bardzo dziękujemy za pozytywne wzmocnienie i zachęcamy do wykorzystania na maksa poznanej wiedzy!
@testowetestowe124 Жыл бұрын
Bardzo przystępnie poprowadzona lekcja. Czy możliwe jest utworzenie lekcji o testach API w Playwright?
@jaktestowac Жыл бұрын
Hej! Dzięki za opinię. Co do API w Playwright to opracowujemy plan na następne lekcję na YT i weźmiemy tę sugestię pod uwagę. W pełnym Programie Playwright na jaktestowac.pl/playwright kompleksowo pokrywamy zagadnienia z API😉
@ndron9925 Жыл бұрын
Вялізны дзякуй за гэтыя цудоўныя і супер-зразумелыя лекцыі!
@jaktestowac Жыл бұрын
Cała przyjemność po naszej stronie! 🙇♂
@Stvrchild13 Жыл бұрын
Dziękuję za materiały Panowie. Poznałem was w zeszłym tygodniu, a już śledzę was i raczej z pewnością zajrzę do płatnych materiałów.
@jaktestowac Жыл бұрын
Dzięki wielkie! I mega się cieszymy, że Ci się podobało😁 Zajrzyj też na naszego bloga: playwright.info/ - dzielimy się tam wiedzą i różnymi tematami na temat Playwright😉 I do zobaczenia niebawem, w kolejnych materiałach!😁
@Stvrchild13 Жыл бұрын
Mam pytanie jakbyście to robili na żywo, podczas pracy, to byście też najpierw robili np await paymentPage.transferReceiverInput.fill(transferReceiver); i potem refaktoryzowali to do metody makeTransfer, czy od razu byście wrzucali metody? Po nagrywaniu testów od razu byscie wszystko za jednym razem robili, czy jest jakaś zalecana kolejność? (Np taka jaką macie w tych wideo, że najpierw wyizolujemy test data, potem test pages, potem test components a na koniec methody dodamy do klas). Pytam bo moja nauka automatyzacji na razie jest czysto z tutoriali, a one właśnie pokazują krok po kroku, a nie wiem czy w pracy też się tak robi, czy jak sie już umie to np. wszystko za jednym razem. Pozdrawiam
@Stvrchild13 Жыл бұрын
Mam pytanko, zgodnie z principle DRY, jeżeli oba testy negatywne oraz ten pozytywny (w login.spec.ts) zawierają const loginPage = new LoginPage(page) to nie mogliśmy tego dać w scope wyżej? np w test describe zamiast powtarzać te linijkę w kazdym teście? Pozdrawiam.
@jaktestowac Жыл бұрын
Pełna zgoda! 😉 Bardzo słusznie zauważyłeś, że można ten fragment wydzielić, aby uniknąć duplikacji (DRY). Przy kilku testach to może być pomijalne, ale przy większej liczbie - to już robi różnicę😉 Dlatego w kolejnych lekcjach refaktoryzujemy ten fragment😉