Z jakiegoś powodu, kiedy uruchamiam testy w pracy, przeglądarka jest zmaksymalizowana, ale kiedy uruchamiam je w domu, otwiera się tylko okno przeglądarki o szerokości około 50%. Powoduje to pewne rozbieżności podczas przewijania w dół itp., Więc najlepiej byłoby, gdyby otwierało okno przeglądarki o tym samym rozmiarze na każdym komputerze, na którym przeprowadzane są testy. Jak najlepiej to zrobić? (Znalazłem odpowiedzi dla innych języków, ale nie byłem w stanie dostosować ich do javascript)
Dodawanie
browser.executeScript('window.moveTo(0,0);'+
'window.resizeTo(screen.width, screen.height);');
nic nie robi (najwyraźniej window.moveTo
i window.resizeTo
nie są obsługiwane przez Chrome).
window.moveTo
i nawindow.scrollTo
pewno są obsługiwane przez Chrome.window.moveTo
iwindow.resizeTo
. U mnie działa dobrze w Chrome. Nie wiem, czy można zmienić rozmiar bieżącego okna z konsoli w Chrome, ale fakt, żeresizeTo
metoda jest tam dostępna, wskazuje, że Chrome ją obsługuje.Odpowiedzi:
Możesz ustawić domyślny rozmiar przeglądarki, uruchamiając:
Aby zmaksymalizować okno przeglądarki, uruchom:
Aby ustawić bieg pozycji:
Jeśli pojawi się błąd:
Źródło: https://sites.google.com/a/chromium.org/chromedriver/help/operation-not-supported-when-using-remote-debugging
źródło
browser.driver.manage().window().maximize();
protractor.conf.js
plikuonPrepare
.browser.driver.manage().window().maximize();
tak naprawdę nie maksymalizuje dla mnie okna. Po prostu dostaję nieco większe okno.setSize()
Możesz także użyć swojego,
config.js
aby ustawić rozmiar okna:źródło
Jeśli preferowana metoda:
nie działa dla Ciebie (na przykład uruchamianie testów Protractor w Xvfb), możesz również zmaksymalizować okno w ten sposób (protractor.conf.js):
Wersja TypeScript:
źródło
Po prostu dodałem poniższy kod do mojego pliku protractor.conf.js i działał dobrze.
Do jakiego celu służą setTimeout i executeScript w Twojej odpowiedzi? Trudno mi znaleźć najlepsze praktyki w dokumentach kątomierza ...
Moim zdaniem użycie bezpośredniej maksymalizacji () jest złym pomysłem i nie powinno być preferowaną metodą, ponieważ nie ustawiłoby tego samego rozmiaru na każdej maszynie, na której wykonywane są testy, i może zepsuć zachowania responsywne.
źródło
W Selenium 4 (Protractor 6)
setRect
zastępujesetSize
isetPosition
Na przykład,
źródło
W pliku Protractor.conf.js dodaj następującą konfigurację
możliwości: {'browserName': 'chrome', chromeOptions: {args: ['start-maximized']}}
źródło
Zmodyfikuj plik config.js zgodnie z poniższym opisem.
źródło
Dodaj poniższy kod, zmaksymalizuje to okno przeglądarki
źródło