Перейти к содержимому

Silari0n

Регистрация: 04 июл 2018
Offline Активность: 13 июл 2018 10:25
-----

Мои сообщения

В теме: Как открыть ссылку в новой вкладке

13 июля 2018 - 05:40

простите, но наверное, я слишком расплывчато обыграл ваше неверное употребление прилагательного "автоматизированный", как-то грустно объяснять шутки, ну ладно.

 

для развития себя как автоматизатора, можно идти несколькими путями:

- порешать проблемки на https://www.hackerrank.com

- порешать задачки на sql-ex.ru

- открыть java tutorials и выполнить все задачи по java core, прямо с начала и дальше.

- поднять себе debian в консольном режиме на virtualbox, поднять на нём апач и какой-нибудь сайт или даже свой личный gitlab чтобы у себя, локальнинко, никому не показывая свой код (стыдно же...) сидеть и изучать git и как с ним работать да ещё и администрировать, да ещё и CI/CD прикрутить к своим проектам.

 

успехов.

Спасибо огромное за информацию, буду все изучать и тренироваться.


В теме: Как открыть ссылку в новой вкладке

12 июля 2018 - 11:36

 

 

На том же stackoverflow, откуда видимо взят изначальный код = есть ссылка на багу самого хрома, о том, что Ctrl+t не работает.  

В баге ответ - "This should not work, web driver is intended to be used for testing web content, not the browser. They should create new tab programmatically via the web driver api instead. I would close this one as WontFix, but deferring it to you.".

Т.е. через Ctrl + T новая вкладка в ХромДрайвере не открывается, не должна и не будет.

 

А какая изначальная задача? 

Какой смысл у Вас в открывании ссылки в одной вкладке и тут же ссылки в другой вкладке?

Задача стоит в том что, я сам себе придумаю задачи, что бы можно было разбираться в автоматизации, и в будущем работать автоматизированым тестировщиком, и вот создал сам себе задачу, что бы разобратся с переключением между вкладками и работа с многими вкладками, так как задачи мне некому давать и на своей работе толком не продумана автотазиция, потому решил разбираться.

 

 

откровенно говоря, как раз сейчас, вы наиболее близки к цели быть автоматизированным тестировщиком. Потом будет только хуже, так как степень вашей автоматизации упадёт, из за наличия начальника и постановщиков задач. 

 

(сарказм)

 

Если есть предложение, буду только рад. Как можно приблизится к улучшению своих навыков и тд?

Есть какие то интересние статьи(хотя я читал и и не одну)
Может какие то предложение?Что бы просто не сидеть и не колупатся в носу


В теме: Как открыть ссылку в новой вкладке

12 июля 2018 - 08:48

На том же stackoverflow, откуда видимо взят изначальный код = есть ссылка на багу самого хрома, о том, что Ctrl+t не работает.  

В баге ответ - "This should not work, web driver is intended to be used for testing web content, not the browser. They should create new tab programmatically via the web driver api instead. I would close this one as WontFix, but deferring it to you.".

Т.е. через Ctrl + T новая вкладка в ХромДрайвере не открывается, не должна и не будет.

 

А какая изначальная задача? 

Какой смысл у Вас в открывании ссылки в одной вкладке и тут же ссылки в другой вкладке?

Задача стоит в том что, я сам себе придумаю задачи, что бы можно было разбираться в автоматизации, и в будущем работать автоматизированым тестировщиком, и вот создал сам себе задачу, что бы разобратся с переключением между вкладками и работа с многими вкладками, так как задачи мне некому давать и на своей работе толком не продумана автотазиция, потому решил разбираться.


В теме: Как открыть ссылку в новой вкладке

12 июля 2018 - 08:13

Проверьте импорты свои. Не совсем понимаю, отуда у Вас берётся com.sun.org.apache.xpath.internal.operations.String

Если выше было предположение сходу, то Set - это уже 100% проверенный вариант, который у меня в коде уже давно и прекрасно работает.

Понял, нашел ошибку , 

String baseUrl = "http://www.google.co.uk/";

webDriver.get(baseUrl);
webDriver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t");

ArrayList<String> tabs = new ArrayList<String> (webDriver.getWindowHandles());
webDriver.switchTo().window(tabs.get(1))//switches to new tab
webDriver.get("https://www.facebook.com");

 

При этом коде открывается гугл, но не открывается новая вкладка с фейсбуком, вообще просто не получается сделать новую вкладку


В теме: Как открыть ссылку в новой вкладке

12 июля 2018 - 07:48

 

 

Теоретически, Ctrl+T не только открывает новую вкладку в хроме, но и автоматом на неё переключается.

Т.е. можно попробовать сохранить windowHandle основного окна (чтобы потом вернуться к нему), нажать Ctrl+T и без переключения на новую вкладку (в коде) попробовать сразу перейти на нужную страницу.

Я не пробовала так, не знаю, сработает ли.

 

п.с.: попробуйте ArrayList<String> tabs = (ArrayList<String>) webDriver.getWindowHandles();

Вот я просто ввел эту строку и уже сразу ошибка (java: incompatible types: java.util.Set<java.lang.String> cannot be converted to java.util.ArrayList<com.sun.org.apache.xpath.internal.operations.String>) как ее убрать?

 

 

Ок, тогда просто Set<String> tabs = webDriver.getWindowHandles();

getWindowHandles() возвращает Set<String>, поэтому проблем быть не должно (у меня в моем коде сделано именно через Set<String>. Тогда для переключения - надо сначала сохранить handle "текущего" окна, а потом удалить его из полученного Set'а (в нём останется только одно новое окно).

 

Вот ( java: incompatible types: java.util.Set<java.lang.String> cannot be converted to java.util.Set<com.sun.org.apache.xpath.internal.operations.String>) что не так я делаю?(