Пікірлер
@BenShow-j8k
@BenShow-j8k Күн бұрын
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
@BenShow-j8k Күн бұрын
co ciekawe, jezeli uzyje --headed to o wiele rzadsze repro
@jaktestowac
@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-j8k
@BenShow-j8k 9 сағат бұрын
@@jaktestowac sprawdze :)
@jaktestowac
@jaktestowac 5 сағат бұрын
@BenShow-j8k i koniecznie daj znać :)
@kacper4737
@kacper4737 Күн бұрын
narazie co prawda zaczynam swoją przygodę , ale przy takich filmikach od razu czuje ze dam radę , pozdrowienia chłopaki !
@jaktestowac
@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-j8k
@BenShow-j8k 6 күн бұрын
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.
@jaktestowac
@jaktestowac 6 күн бұрын
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-j8k
@BenShow-j8k 6 күн бұрын
@@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 ;)
@jaktestowac
@jaktestowac 6 күн бұрын
@@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ć 😁
@noxadam
@noxadam 17 күн бұрын
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?
@jaktestowac
@jaktestowac 17 күн бұрын
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ę.
@jaktestowac
@jaktestowac 17 күн бұрын
Przykład takiego ustawienia znajdziesz tutaj: github.com/jaktestowac/playwright_automatyzacja_wprowadzenie/blob/b1dea855a39e4984772d830b4b40c4884e722907/S03_pom/L06_pom_refactor/playwright.config.ts#L39
@noxadam
@noxadam 17 күн бұрын
@@jaktestowac zgadza się :) dzięki za pomoc! i świetny kanał ;)
@solidus2360
@solidus2360 Ай бұрын
Panowie, na której grupie z testami na FB się udzielacie? Czy jest to może [Testowanie oprogramowania - Materiały | Porady]?
@jaktestowac
@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
@solidus2360 Ай бұрын
@@jaktestowac Dzięki za odpowiedź. Dołączę gdzie się da, aby mieć was na oku, hehe.
@emiliaf3588
@emiliaf3588 2 ай бұрын
Sztos chłopaki 😊
@jaktestowac
@jaktestowac 2 ай бұрын
@@emiliaf3588 dzięki 🤩
@bartoszg9982
@bartoszg9982 2 ай бұрын
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!
@jaktestowac
@jaktestowac 2 ай бұрын
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.
@jaktestowac
@jaktestowac 2 ай бұрын
❗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/ 😉
@Naqaraa
@Naqaraa 24 күн бұрын
Cenna informacja. Zacząłem się głowić niedawno o co biega.
@jaktestowac
@jaktestowac 24 күн бұрын
@@Naqaraa zmiany są kosmetyczne ale staramy się o nich informować, w razie kłopotów zapraszamy też na nasz Discord: Automatyzacja i Playwright Polska!
@squirrela86
@squirrela86 2 ай бұрын
Jak zwykle super materiał
@jaktestowac
@jaktestowac 2 ай бұрын
Dzięki wielkie! 😁
@marekbrtkwcz
@marekbrtkwcz 3 ай бұрын
A co w przypadku jeśli chcemy filtrować po tekstach zawartych w dwóch lub trzech kolumnach??
@jaktestowac
@jaktestowac 3 ай бұрын
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 :)
@marekbrtkwcz
@marekbrtkwcz 3 ай бұрын
@@jaktestowac Czyli takie łączenie filtrowania działa jak warunek && ?
@jaktestowac
@jaktestowac 3 ай бұрын
@@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() :)
@przemyslawleszczynski146
@przemyslawleszczynski146 3 ай бұрын
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" }
@tmk2103
@tmk2103 3 ай бұрын
A czy eslint nie wypluje błędu za używanie pętli w teście ? Czy to nie jest zła praktyka ?
@jaktestowac
@jaktestowac 3 ай бұрын
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.
@Crazozourus
@Crazozourus 4 ай бұрын
@TheTreborMedia
@TheTreborMedia 4 ай бұрын
cool
@TheTreborMedia
@TheTreborMedia 4 ай бұрын
cool
@TheTreborMedia
@TheTreborMedia 4 ай бұрын
cool
@rafalrymek1142
@rafalrymek1142 4 ай бұрын
Nie korzystam, ale podobaja mi sie te wtyczki. Jak tylko bede z TS + Playwright dzialal bede instowal :) Swietna robota :)
@jaktestowac
@jaktestowac 4 ай бұрын
Dzięki wielkie! Wtedy śmiało podeślij nam feedback po pracy z nimi😀
@TheFrancboss
@TheFrancboss 4 ай бұрын
Dobra robota :)!
@jaktestowac
@jaktestowac 4 ай бұрын
Dzięki wielkie! 🙇‍♂ Śmiało korzystaj i daj nam znać co Ci się podobało i jak możemy je dalej rozwijać i usprawniać 😉
@ukaszl7427
@ukaszl7427 4 ай бұрын
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!
@jaktestowac
@jaktestowac 4 ай бұрын
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😁
@RafalPrzetakowski
@RafalPrzetakowski 4 ай бұрын
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ę!
@jaktestowac
@jaktestowac 4 ай бұрын
Mega dzięki! 🙇‍♂ To jest faktycznie coś o czym musimy pomyśleć😀 Dzięki za sugestię!
@typrzemek
@typrzemek 4 ай бұрын
@RafalPrzetakowski a napisy generowane automatycznie z you tube ? 1 min obejrzałem i całkiem dobrze tłumaczy
@krissusok4258
@krissusok4258 4 ай бұрын
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
@jaktestowac
@jaktestowac 4 ай бұрын
Mega nas cieszy, że podoba Ci się nasz materiał i wielkie dzięki za feedback!🙇‍♂ To czekają nas nowe zakupy w najbliższym czasie 😀
@jaktestowac
@jaktestowac 4 ай бұрын
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!
@juliatsalko7346
@juliatsalko7346 7 ай бұрын
Dziękuję, opowiadasz w sposób jasny i interesujący
@jaktestowac
@jaktestowac 7 ай бұрын
Dzięki wielkie! Ciesze się, że podoba Ci się nasz materiał🙇‍♂
@juliatsalko7346
@juliatsalko7346 7 ай бұрын
Świetny materiał! Dzięki)
@jaktestowac
@jaktestowac 7 ай бұрын
Dzięki! Cieszymy się, że Ci się podoba😁
@PatrycjaTestuje92
@PatrycjaTestuje92 7 ай бұрын
PIERWSZA KLASA :)
@jaktestowac
@jaktestowac 7 ай бұрын
Mega dzięki - to bardzo wiele dla nas znaczy! Powodzenia w kolejnych lekcjach🫡
@fromscratch_pl
@fromscratch_pl 8 ай бұрын
Genialne! Idealny głos i mimika do prowadzenia szkoleń. Świetna dynamika. Merytorycznie mega. Dziękuje za inicjatywe.
@jaktestowac
@jaktestowac 8 ай бұрын
Bardzo dziękuję za każde dobre słowo! Miłej nauki życzę i determinacji w rozwoju w kolejnych dziesiątkach lekcji ❤
@IdziM
@IdziM 8 ай бұрын
Ś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
@jaktestowac
@jaktestowac 8 ай бұрын
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 😁
@IdziM
@IdziM 8 ай бұрын
@@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 😁
@jaktestowac
@jaktestowac 8 ай бұрын
@@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.
@IdziM
@IdziM 8 ай бұрын
Ś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.
@jaktestowac
@jaktestowac 8 ай бұрын
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_6600
@bartek_6600 8 ай бұрын
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.
@jaktestowac
@jaktestowac 8 ай бұрын
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-rzonca9465
@ewarostecka-rzonca9465 8 ай бұрын
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ę?
@krzysiek33d
@krzysiek33d 9 ай бұрын
Nie mówi się "teście" tylko "teściowie" - wiem głupi komentarz, ale nie mogłem się powstrzymać xD
@jaktestowac
@jaktestowac 9 ай бұрын
Szczególnie przy failującym teściu może nastapić potoczne odzwierciedlenie tego typu relacji😁
@krzysiek33d
@krzysiek33d 9 ай бұрын
Super robota, tak trzymaj :) !!!
@jaktestowac
@jaktestowac 9 ай бұрын
Wow! Dzięki :D
@Jumbarilla
@Jumbarilla 9 ай бұрын
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?
@jaktestowac
@jaktestowac 9 ай бұрын
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-rzonca9465
@ewarostecka-rzonca9465 9 ай бұрын
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ę :)
@jaktestowac
@jaktestowac 9 ай бұрын
Super podsumowanie - zdecydowanie warto tutaj działać ciągle usprawniając swoje rozwiązania dzięki temu można uzyskać niesamowitą jakość!
@ewarostecka-rzonca9465
@ewarostecka-rzonca9465 9 ай бұрын
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 ;) )
@jaktestowac
@jaktestowac 9 ай бұрын
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-rzonca9465
@ewarostecka-rzonca9465 9 ай бұрын
Postaram się aproksymować do tego ultra przygotowania 😊
@Krejwik
@Krejwik 10 ай бұрын
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
@jaktestowac
@jaktestowac 10 ай бұрын
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_
@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.
@jaktestowac
@jaktestowac 10 ай бұрын
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/
@bajdak123
@bajdak123 11 ай бұрын
Witam. Po uruchomieniu kody przegladarka wlacza sie na 1 sekunde i wylacza.
@jaktestowac
@jaktestowac 11 ай бұрын
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
@bajdak123
@bajdak123 11 ай бұрын
@@jaktestowac ok, dzięki za szybką odpowiedź. Tak myślałem, bo widziałem podobne rozwiązania w dokumentacji.
@SławomirKosecki
@SławomirKosecki 11 ай бұрын
Mega dużo można się nauczyć. Jesteś wielki :)
@jaktestowac
@jaktestowac 11 ай бұрын
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.
@mioszszczerbiak8612
@mioszszczerbiak8612 11 ай бұрын
@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ć?
@jaktestowac
@jaktestowac 11 ай бұрын
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
@mioszszczerbiak8612
@mioszszczerbiak8612 11 ай бұрын
@@jaktestowac Dziękuję bardzo za pomoc. Miałem ustawione Windows 1250.
@olgierdvoneverec6837
@olgierdvoneverec6837 11 ай бұрын
Ten test jest flaky. Wystarczy w asercji w dodać kilka spacji pomiędzy wyrazami i przejdzie pozytywnie.
@jaktestowac
@jaktestowac 11 ай бұрын
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 :)
@xxxxlxxxxify
@xxxxlxxxxify 11 ай бұрын
Czy nie dało się jeszcze bardziej podbić basu? :P
@jaktestowac
@jaktestowac 11 ай бұрын
Myśleliśmy o tym ale nie można podmieniać filmików na YT :D
@vivet9
@vivet9 11 ай бұрын
Na początku filmu podajecie # dla klasy CSS, a . dla id, a później prezentowane jest to odwrotnie. Poza tym jasno przedstawiony materiał :)
@jaktestowac
@jaktestowac 11 ай бұрын
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
@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
@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
@MaciejKruczek-p7d Жыл бұрын
Panowie ... SZACUN !!!!. Naprawdę bardzo czytelnie przekazana wiedza. Oby tak dalej. Pozdrawiam
@jaktestowac
@jaktestowac Жыл бұрын
Bardzo dziękujemy za pozytywne wzmocnienie i zachęcamy do wykorzystania na maksa poznanej wiedzy!
@testowetestowe124
@testowetestowe124 Жыл бұрын
Bardzo przystępnie poprowadzona lekcja. Czy możliwe jest utworzenie lekcji o testach API w Playwright?
@jaktestowac
@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
@ndron9925 Жыл бұрын
Вялізны дзякуй за гэтыя цудоўныя і супер-зразумелыя лекцыі!
@jaktestowac
@jaktestowac Жыл бұрын
Cała przyjemność po naszej stronie! 🙇‍♂
@Stvrchild13
@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
@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
@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
@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
@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😉