#csharp #selenium

1. Jak wykryć, że zamknąłem kartę, którą otworzył mi ChromeDriver?
2. Jak przejąć atrybuty wszystkich formularzy na stronie otwartej przez ChromeDriver? (id, name, value)
FindElements wymaga By
(chce zebrać wszystkie dostępne, następnie zadziałać na nich regexem i wypełnić tylko niektóre)
@Noct:
Otwarte karty widnieją jako windowhandles, po otwarciu jakiegoś okna czytasz jego window handle (po focusie oczywiście) do stringa i potem możesz sprawdzić czy jest teraz w handles = otwarte
Find By możesz użyc z XPATHem i wtedy rzucić na wszystko z *, ale jaki będzie efekt... Troche pokrętny sposób.
n


@Noct: No jak tak chcesz się bawić to rzeczywiście regexem zrobisz wszystko, potężne narzędzie, ale nie przepadam za nim :p
A jest powód czemu tak chcesz to robic, zamiast zczytać każde pole i odnieść się do nich? Może wszystkie te pola formularza są jednego typu np inputy jakieś albo w grupach typów wtedy mozna pobrać po findelements do listy elementów i pętlą uzupełnić, tylko nie masz nigdy pewności, że wyświetlanie
Jak widzicie wykorzystanie Selenium do pisania robotów do działania w czuwaniu, podejmowania plików, które wpadną powiedzmy na sharepointa, wykonaniu procesu wprowadzenia danych do jakiegoś systemu, zaraportowanie wykonania i czekanie na kolejny impuls w postaci pliku. Czyli ciągłe działanie na czuwaniu na jakiś bodziec a nie tylko puszczanie na zasadzie testu automatycznego.

Selenium do automatyzacji procesów (robotów) zamiast tylko testów

#selenium #testowanieoprogramowania #automatyzacja #java
Hej!
Mam mały problem z testowaniem mojej strony w #django przez #selenium. W przeglądarce mam to co na załączonym screenshocie, chciałbym wyciągnąć link z href'a. Mam np taki kod:

posts = self.browser.find_elements_by_class_name('list-group-item')
Na początku próbowałem wyciągnąć link za pomocą posts.getattribute('href'), ale po odpaleniu debuggera okazało się, że posts nie mają atrybutu href. Zamieniłem kod na taki

posts = self.browser.find_elements_by_tag_name('a')
ale dalej jest ten sam problem. Czy ktoś wie w jaki
Pobierz
źródło: comment_aeVllKdWCFfGaWlgcL4vs6I27ATmpk27.jpg
@Mmmmmm:
Metoda
find_elements (zwróć uwagę na ostatnią literę)
zwraca listę elementów, nie element - bo masz ich kilka. Z listy nie wyciągniesz wartości href.
Co zrobić? Kwestia co ptorzebujesz. Jak href konkretnego elementu to musisz dać

find_element
i podać unikalny lokator.
Jeśli wszystkich to jakaś pętla:

for post in posts:
Scrapuje sobie dane z wyszukiwarki na pewnej stronie internetowej. Lecę po indeksach. Czy przy ilości zapytań typu 50-100 tys lepiej to sobie rozłożyć na kilka dni żeby strony nie zamulić czy to w sumie nawet nie tak dużo?
#python #selenium
#selenium #testowanie #java #tester #github

Robię projekt selenium + cucumber na witrynie pracuj.pl i napotkałem pewien problem. Po zalogowaniu chcę rozwinąć listę opcji z profilu. Przy próbie wywołąnia click() na elemencie dostaję > selenium is not clickable at point xxxx another element obscures it
Przy użyciu wait na ten element to i tak od razu wywala, że jest on przykryty.
Tak wygląda element :


Zaczepiałem na :

@FindBy(xpath = "//*[@class='header__items_account_btn_arrow']"), @FindBy(xpath
@m0rdeczka: po pierwsze daj exception jaki ci wywala, tam powinno być napisane jaki element przykrywa ten ktory chcesz kliknąć.
Po drugie nie czekaj na widoczność elementu, tylko na klikalność (podmień visibilityOf na elementToBeClickable )

możesz tez dać sleepa na chwile żeby sprawdzić czy to w ogole kwestia tego oczekiwania. Jak po sleepie przejdzie to popraw waity. Jak sleep nic nie daje, to moze trzeba sprobowac z innym elementem albo kombinowac jakos
Na ile wartosciowa dla web developera jest umiejetnosc organizowania i przeprowadzania testow automatycznych?
Chodzi mi o perspektywe osob zatrudniajacych i rzeczywiste potrzeby wiekszych firm.

Dotychczas w ogole nie zajmowalem sie takimi rzeczami, a zaczynam projekt, ktorego integralna czescia jest wykorzystywanie Selenium WebDriver w polaczeniu z Firefox w trybie headless (chodzi o scrapping danych z HTML).
Probuje wyczuc na ile powinienem sie przylozyc do Selenium, ktore jest dla mnie nowym narzedziem. Zastanawiam
#python #selenium #windows
#programowanie

Robię małą automatyzacje na Internet Explorer (na chromie i firefoxie strona nie działa) korzystając z Selenium. Niestety po kilkunastu krokach napotkałem blokadę a dokładnie pobieranie pliku. Gdy klikam ikonke pobierania to wyskakuje na dole okienko popup/prompt i kod pythonowy zatrzymuje się i dalej nie idzie - jak by miał breakpoint. Chciałem wyłączyć możliwość pojawiania się komunikatów w IE ale niestety w IE 11 nie ma pewnych opcji i
@PiotrokeJ: No jest problem na tych korporacyjnych aplikacjach webowych, niedość że musisz to odpalać w IE, bo tak. To jeszcze poukrywane wszystko, tu dynamiczne, tu niewiadomo czemu i kombinuj z obsługą tych durnych okienek.
Ja implementowałem jeszcze robota no i odpalałem metode JS bo nie mogłem jednego buttonu kliknąć przez lokalizację, bo okienko po PPM było aplikacji a nie IE.
Cześć Mireczki i Mirabelki , mieszkam w Wwa , pracuje w It , do tej pory w pracy zajmowałem się napisaniem aplikacji w Selenium do wykonywania testów na front-end , stworzyłem jmx w jmeter do testów wydajnościowych.
Wykonywałem testy manualne , pisałem scenariusze testowe , raportowałem wyniki , obsługiwałem Jira, korzystam z sql i soapui
Obecnie najwięcej czasu w pracy poświęcam na debugowanie aplikacji napisanych w java , wyszukiwanie w nich różnych
  • 1
@milvanb Nikt nie odpowiedział? W testach możesz tylko widzieć typy produkcyjne, a w produkcyjnych nie zobaczysz testów. No wyobraź sobie gdybyś mógł odpalić unit test podczas normalnego działania aplikacji ;) Albo buduj wszystko w testach albo wszystsko w produkcji (src/main/java)
@IceGoral: czemu masz zmienną login używaną dwa razy? Raz przypisujesz do niej stringa, a później szukasz elementu w DOM. Tak jest ok?

Pytam bo programuję w zupełnie czymś innym, ale login[2].send_keys(login) wygląda nieco bez sensu, i wtedy by błąd się chyba zgadzał... oczekuje stringa, a podajesz mu obiekt.
@zortabla_rt: nie, po prostu testy mobilnych aplikacji robi się na frameworku do mobilnych, czemu miałbyś testować mobilne stronki na destopie.
To nie jest ograniczenie selenium, bo selenium na wszystkim pójdzie, tylko niektóre witryny nie są tak responsywne na jednym lub drugim driverze
moge kontynuowac jak @pur3pwnage i @kondon3000 tag #progresjazarobkow, troche skopiuje z poprzedniego mojego komentarza, ale rozbuduje

u mnie jest to jednak ciut bardziej skomplikowane bo wiekszosc jest w euro a na przestrzeni lat zmienial sie kurs, podawac bede wiec tylko czasami:

i jedna sprawa - to byly naprawde inne czasy, bezrobocie ponad 20%, pracy nie bylo jak ja zaczynalem swoja "kariere"

01.2005 - 1000 zl na umowe o dzielo, wpisywanie produktow
@SuperStefan:
Chcesz przekazywać zmienną pomiędzy testami (tworzysz zmienną w teście A i wykorzystujesz w teście B) czy chcesz użyc tej samej zmiennej w dwóch testach? Jeśli to pierwsze - to burzysz niezależność testów. Nie rób tego.

Dlaczego w swoim kodzie najpierw tworzysz sobie page, a później w drugim teście i tak nadpisujesz wartość tego?