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

Фотография

Открытие и навигация по вкладкам, вопрос новичка


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 14

#1 Beerman

Beerman

    Новый участник

  • Members
  • Pip
  • 10 сообщений

Отправлено 24 июня 2015 - 18:43

Заранее извиняюсь, если не туда запостил вопрос.

 

Долго не получалось открывать страницу в новой вкладке, только с использованием Foxdriver получилось.

 

     foreach (var ln in links)
                {
 
                    var body= driver.FindElement(By.TagName("body"));
                    body.SendKeys(OpenQA.Selenium.Keys.Control + "t"); // и только таким образом начал отрывать стр в новой вкладке
                    driver.Navigate().GoToUrl(ln.ToString());
                    if (!tabs.Contains(driver.CurrentWindowHandle))
                        tabs.Add(driver.CurrentWindowHandle);
                 }
   Проблема и вопрос в том, что CurrentWindowHandle не меняется..
  Соответственно, driver.WindowHandles() тоже возвращает один элемент. 
 
 Т.е. я по итогу открыл 20 вкладок. Но не знаю, как между ними переключаться этой командой
driver.SwitchTo().Window("openedwindow");
 
Пролейте свет на этот темный лес:) скажите пжл, как сделать?

  • 0

#2 Saga

Saga

    Новый участник

  • Members
  • Pip
  • 37 сообщений
  • ФИО:Maryna Kolesnik
  • Город:Киев


Отправлено 24 июня 2015 - 20:27

CurrentWindowHandle  не меняется, потому что окно одно, соответственно, и хендлер один и тот же.

Для переключения между вкладками можно имитировать нажатие "Сtrl-Tab" 

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"\t");

  • 0

#3 Beerman

Beerman

    Новый участник

  • Members
  • Pip
  • 10 сообщений

Отправлено 25 июня 2015 - 03:55

 

CurrentWindowHandle  не меняется, потому что окно одно, соответственно, и хендлер один и тот же.

Для переключения между вкладками можно имитировать нажатие "Сtrl-Tab" 

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"\t");

Спасибо за ответ, но к сожалению 

 

                   var body= driver.FindElement(By.CssSelector("body"));
                    body.SendKeys(OpenQA.Selenium.Keys.Control + "t");  переход на новую вкладку происходит исключительно только так, пробовал разные способы-не получается, открывает ссылку в том же окне
                    //body.SendKeys(Keys.Control + "\t");
 
.Net, Selemium.WebDriver Version 2.46
 
Может еще какие-нибудь соображения есть?

  • 0

#4 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 25 июня 2015 - 04:34

Вот тут есть пример, но правда для java.

Может будет полезен для аналогии.

 

Да и вот еще, Selenium не знает понятия новой вкладки и открывает в новом окне.


  • 0

#5 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 25 июня 2015 - 05:17

Selenium не поддерживает работу с вкладками. Открывайте новые окна, не вкладки.


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#6 Beerman

Beerman

    Новый участник

  • Members
  • Pip
  • 10 сообщений

Отправлено 25 июня 2015 - 06:27

Вот тут есть пример, но правда для java.

Может будет полезен для аналогии.

 

Да и вот еще, Selenium не знает понятия новой вкладки и открывает в новом окне.

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


  • 0

#7 Coder7524

Coder7524

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Антон

Отправлено 08 июля 2015 - 14:36

Вопрос наверное из этой же серии.

У меня Selenium IDE. версия 2.9.0.

Почему при воспроизведении теста, нет перехода на открытые во время записи вкладки? Учитывая что при записи появляется команда selectWindow.

 

Тестирую страничку ozon.ru ищу текст "php" и выбираю в в выпадающем поиске - поиск в книгах, потом выбираю найденную книгу. Все действия вроде на одной вкладке, но команда selectWindow есть. Две картинки с ошибками: [error] Window does not exist. If this looks like a Selenium bug, make sure to read http://seleniumhq.or...ultiple-windows for potential workarounds. ("Ошибки теста Selenium.jpg" и "Ошибки теста Selenium2.jpg").

Подскажите, пожалуйста, как запустить тест без ошибок (в этом первом случае)?

 

Во втором случае тестирую yandex.ru ищу "Москва карта массажных салонов", пытаюсь перейти по ссылке на карту яндекса с найденными салонами (Яндекс всегда автоматически открывает вкладку). Ошибка [error] Window does not exist. If this looks like a Selenium bug, make sure to read http://seleniumhq.or...ultiple-windows for potential workarounds. на картинке "Ошибки теста Selenium4.jpg".

Подскажите, пожалуйста, как запустить тест без ошибок (во втором случае)?

 

Поясните, пожалуйста, где взять этот Foxdriver и куда писать код, у меня источник выглядит в виде html-кода. ("Картинка Ошибки теста Selenium5.jpg")

 

Во третьем случае тестирую yandex.ru и по первой вкладке пытаюсь открыть правой кнопкой мыши новое окно, в связи с написанным выше о том, что со вкладками Selenium не работает, а с новыми окнами работает.

Вот эта ошибка - при нажатии правой кнопкой мыши на ссылке и выборе открыть в новом окне. Картинка с ошибкой: [error] Element css=#tid-link-31021 > span not found ("Ошибки теста Selenium3.jpg").

Подскажите, пожалуйста, как запустить тест без ошибок ( в третьем случае)?

 

Если нужно установить WebDriver подскажите, пожалуйста, как его подключить к IDE.

 

Извиняюсь, если вопросы совсем глупые, только начал осваивать Selenium.

Прикрепленные файлы


  • 0

#8 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 08 июля 2015 - 19:40

Selenium не поддерживает работу с вкладками. Открывайте новые окна, не вкладки.


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#9 Coder7524

Coder7524

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Антон

Отправлено 09 июля 2015 - 12:32

Selenium не поддерживает работу с вкладками. Открывайте новые окна, не вкладки.

В третьем случае я и открываю новое окно, но при воспроизведении этого не происходит.

Может подскажете, как эти окна открывать для Selenium (видимо при записи я как-то не так открываю окно - а именно правой кнопкой мыши и выбираю открыть в новом окне), чтобы при воспроизведении теста повторилось открытие окна.


  • 0

#10 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 09 июля 2015 - 12:57

Просто в настройках браузера надо поставить галочку "всегда открывать новые окна вместо вкладок".


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#11 Coder7524

Coder7524

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Антон

Отправлено 10 июля 2015 - 14:08

Спасибо.


  • 0

#12 Coder7524

Coder7524

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Антон

Отправлено 16 июля 2015 - 14:52

Сделал, запись прошла нормально, но при открытии нового окна после записи теста возникает следующая ошибка: 

 

  • [warn] Link has target '_blank', which is not supported in Selenium! Randomizing target to be: selenium_blank71102
  • [error] Unexpected Exception: TypeError: result is null.  

 

Как же все таки запустить новое окно при воспроизведении?

Извиняюсь, за такие казалось бы простые вопросы, пробую Selenium, чтобы он хотя бы простейшие действия повторил.

Прикрепленные файлы


  • 0

#13 Vad1m198

Vad1m198

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • ФИО:Вадим


Отправлено 20 июля 2015 - 14:55

После первого клика, нужно подождать появления нового окна, переключися в него, и дальше продолжать уже во втором окне. Пример того же теста без ошибки (http://screencast.com/t/sfXx3f7k).


  • 0

#14 Coder7524

Coder7524

    Новый участник

  • Members
  • Pip
  • 30 сообщений
  • ФИО:Антон

Отправлено 24 июля 2015 - 13:07

Сделал тест как в вашем примере, Вадим. Теперь появилась новая ошибка. 

[error] Unexpected Exception: TypeError: result is null.

 

Помогите, пожалуйста, решить ситуацию. :search:

Прикрепленные файлы


  • 0

#15 Vad1m198

Vad1m198

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • ФИО:Вадим


Отправлено 25 июля 2015 - 06:35

Скорее всего у Вас неправильно настроен Firefox.

 

1. Нужно чтобы страницы открывались не в новой вкладке, а вновом окне (Options -> general -> uncheck "Open new windows in a new tab instead")

2. Нужно розрешить попап окна. (Options -> content -> uncheck "Block pop-up windows" или добавить Ваш сайт в исключения)


  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных