![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Z racji tego że zmieniam trochę swój zawód to potrzebuję info w czym teraz się pisze testy automatyczne po stronie przeglądarki. Chodzi o coś pokroju Selenium.
Jest coś ciekawszego teraz? Dodam że teraz będę siedział więcej w Pythonie niż PeHaPie ![]() Założenie jest takie żeby takie testy odpalić i niech latają sobie cały czas gdzieś tam na jakimś środowisku. Ma to na celu wykrycie ew. awarii np. jakiegoś zew. Api zanim klienci będą płakać. Ten post edytował Pyton_000 1.07.2017, 11:32:07 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Możesz też użyć Chrome w trybie headless https://developers.google.com/web/updates/2...arma-mocha-chai
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ooo dość ciekawe. Tylko tutaj może być problem z kompatybilnością z innymi przeglądarkami czy tak? Bo np. dobrze by było testować pod FF, IE, Chrome, Safari. Chyba że Headless ma taką możliwość.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Jak chcesz testować w wielu przeglądarkach, to być może zainteresują Cię usługi typu Sauce Labs lub BrowserStack
-------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A czemu poprostu nie uzyjesz selenium o ktorym wspomniales na poczatku?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
@nospor nie po to zapytałem się o alternatywy
![]() ![]() @Comandeer Dzięki. Poczytam. W sumie to cross browsers chyba nie będzie top priorytetem, ale widzę że chyba oba odpalają testy Selenium. Więc wychodzi na to że Selenium jest jedyne rozwijane dobre rozwiązanie? Ten post edytował Pyton_000 1.07.2017, 20:53:06 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ja wiem ze wiesz ze jest selenium. Toz sam o nim wspomniales na poczatku
![]() Ja sie jedynie chcialem dowiedziec czemu nie chcesz go uzywac. Moze sa jakies konkretne powody - sam sie chetnie doksztalce ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
No toć piszę że pytam czy jest może coś nowszego, lepszego, bardziej na topie
![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 160 Pomógł: 27 Dołączył: 22.09.2008 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Cytat bardziej na topie Ja uważam, że jeżeli jest Selenium, i daje Ci bezpieczeństwo i pewność* w testowaniu aplikacji, to po co szukać czegoś lepszego? W zasadzie chyba nic nowego w testowaniu zachowania aplikacji nie wynaleziono, więc ... ![]() *Chyba, że Ci nie daje, to ok ![]() Ten post edytował mrc 2.07.2017, 10:01:16 -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Na razie mi nic nie daje bo jeszcze w nim nie pisałem
![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 148 Pomógł: 14 Dołączył: 23.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Selenium jest fajne, chyba że masz na stronie dużo elementów ładowanych ajaxem. Dobrze jest wtedy móc to co przygotujesz w Selenium jeszcze oprogramować. Na chwilę obecnie brakuje w Selenium niestety dobrego formatera do kodu PHP. Musiałem sobie taki sam napisać. Generuje mi on kod w PHP wykorzystujący bibliotekę facebook/php-webdriver: https://github.com/facebook/php-webdriver.
-------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Możesz rozwinąć myśl z Ajaxem?
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie chcesz Selenium, to szukaj innych bibliotek obsługujących standard WebDriver. Inna rzecz, że chyba wszyscy obecnie albo korzystają, albo wzorują się na Selenium
![]() -------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie to że nie chcę. Pierwotnie w nim chciałem pisać testy. Ale kto nie szuka ten nie znajdzie. To trochę tak jak z PHP i FW. Wiem że mogę napisać projekt w SF3 ale mogę równie dobrze napisać go w Laravelu
![]() |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Czy ja wiem? Projekt w SF zbierze mniej hejtu…
![]() -------------------- ★Mój blog || Okiem krytyka★
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@Lion ja mam duzo ajax u siebie i nie mam problemu by testowac tego w selenium.
I co chodzi z tym formaterem php bo tez nie ogarniam -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
@Comandeer eeetam
![]() ![]() ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 148 Pomógł: 14 Dołączył: 23.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Z ajaxem problem występuje podczas klikania i oczekiwania na odpowiedź. W Selenium mamy polecenia clickAndWait oraz click. Pierwsze z nich czeka na odpowiedź z serwera, drugie klika i przechodzi dalej, do kolejnego polecenia. Drugie bardziej nadaje się do obsługi ajaxa. Problem powstaje gdy odpowiedź ajaxowa przychodzi w losowym czasie a kolejne kroki testu od niej zależą. Można, co prawda, zastosować pause albo waitFor* ale to w aplikacji nad którą pracowałem nie dawało efektu bądź powodowało że czas pojedynczego testu wydłużał się do minut. Aplikacja działała w taki sposób, że w przypadku ISE odpowiedź i tak szła ajaxem tyle że powodowała wyrenderowanie czegoś zupełnie innego niż w przypadku pozytywnym. W tym negatywnym przypadku nie było sensu dalej czekać na timeout. Trzeba było zastosować pewne instrukcje warunkowe. Dodatkowym problemem okazały się timery ajaxowe i ogólna asynchroniczność aplikacji, należało się upewnić że odpowiedź jest odpowiedzią na którą czekamy.
Z powyższych powodów zdecydowałem się podrasowywać testy w PHP. Niestety, na chwilę obecną brakuje w Selenium IDE gotowego formattera do języka PHP do jakiegokolwiek frameworka testowego. Formatter to taki dodatek do Selenium (a właściwie do Firefoxa) który z domyślnego formatu Selenium (czyli HTML) tworzy kod w wybranym języku. Pisze się go, jak inne dodatki do FF, w JS. Formatery zainstalowane w Selenium można znaleźć w menu File > Export test case as.. Po napisaniu własnego powinien się on tam pokazać i umozliwić szybki eksport testu. Napisałem taki formater (przykłady jak to zrobić można znaleźć na GitHubie) który generuje kod PHP, klasę dziedziczącą po TestCase z PHPUnit, w której przy pomocy wcześniej wspomnianej biblioteki facebook/php-webdriver tworzone jest połączenie do serwera Selenium i wykonywane są testy. Wszystko dzieje się w środowisku headless kilku przeglądarek. PHPUnit zapewnia podstawowe asercje, można to uruchamiać z CLI tak jak inne suity PHPUnit, można podpiąć pod serwer CI, itp. -------------------- |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
No to zonk. Z tego co się orientuję w aplikacji którą będę testował jest caaałe mnustwo ajaxu a na dodatek wykresy które mogą się dość długo generować. Aplikacja jest napisana w Pythonie i tam też będę testy pisał.
Znalazłem też formattery do pythona: https://github.com/coUrbanize/selenium-python-formatters To będzie ciekawe doświadczenie ![]() |
|
|
![]()
Post
#20
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@Lion faktycznie, z tym przypadkiem AJAX co opisales to prawda.
Ja to u siebie rozwiazuje tak, ze czekam x sekund lub do czasu az pojawi sie element generowany przez ajax - w zaleznosci co pierwsze nastapi. Poki co ladnie sie sprawdza. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 07:02 |