2015-06-12 18 views
12

Chcę przetestować sieć w wielu wątkach, ale kiedy otwieram zbyt wiele chromedrivers, używają zbyt dużo pamięci. Czy mogę korzystać z wielowątkowości w jednej przeglądarce?Czy Selenium może używać wielu wątków w jednej przeglądarce?

+1

Witam ... czy chcesz uruchomić testy jednocześnie w różnych zakładkach, ale w jednym oknie przeglądarki (instancji) – Vicky

+1

Tak, a każda karta może działać jako wątek, to mogę otworzyć adres URL w tym samym czasie .Jak mogę zrobić. – Roy

Odpowiedz

11

WebDriver nie jest wątek bezpieczny. Problem bezpieczeństwa wątków nie jest w kodzie, ale w rzeczywistych powiązaniach przeglądarki. Wszyscy zakładają, że będzie tylko jedno polecenie na raz (np. Jak prawdziwy użytkownik) .Ale możesz z drugiej strony utworzyć instancję WebDriver dla każdego wątku, ale uruchomi ona wiele przeglądarek, które pochłoną więcej pamięci ...

Mam nadzieję, że to ci pomoże .... Uprzejmie powróć, jeśli masz jakiekolwiek pytania:

9

Wielowątkowość powinna być wykonana na różnych instancjach aplikacji Webdriver, ponieważ sam program Webdriver jest pojedynczym wątkiem.

Różne wątki można uruchamiać na tym samym programie Webdriver, ale wtedy wyniki testów nie będą zgodne z oczekiwaniami. Pozwól mi to wyjaśnić.

Gdy używasz wielowątkowości do uruchamiania różnych testów na różnych kartach (co nie jest niemożliwe, wymagane jest trochę kodowania), działania, które wykonasz jak kliknięcie lub wysłanie kluczy, przejdą do otwartej zakładki, która jest aktualnie skupiona niezależnie od uruchomionego testu. Oznacza to, że wszystkie testy zostaną uruchomione jednocześnie na tej samej karcie, która ma fokus, a nie na zamierzonej karcie.

Możesz przeczytać o multithreading in Webdriver.

Powiązane problemy