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

Публикации El12305

1 публикаций создано El12305 (учитываются публикации только с 30 марта 2023)


#136548 Переключить фокус на popup window/ получить handle?

Отправлено автор: El12305 16 ноября 2014 - 05:31 в Selenium - Functional Testing

Здравствуйте, уважаемые форумчане!

 

Я совсем-совсем новичок в автоматизированном тестировании, и JS для меня тоже в новинку. Тем не менее сейчас активно изучаю эту область знаний. 

В процессе работы возник затык следующего плана. 

 

Пишу проверку восстановления пароля. По умолчанию открыто основное окно браузера(1), в процессе проверки пишу команду .newWindow чтобы открыть второе окно(2) для логина в почту. В почте соответственно открываю нужное письмо, жму на ссылку и селениум открывает popup window (3) которое находится не в фокусе. Фокус по-прежнему висит на окне(2). Задача - переключиться на окно№3 и дальше совершать в нем уже остальные действия. 
 
В работе используется WebdriverIO http://webdriver.io/
 
Предполагаю, что возможно выполнить эту задачу через команду .switchTab http://webdriver.io/.../switchTab.html но для этого мне нужно знать handle окна №3. Вот тут как раз и затык. То есть я понимаю, как получить хэндлы всех трех страниц, но как вычленить именно хэндл №3 и применить его к switchTab - я не знаю. 
 
вот кусок кода: 
 
//открываем письмо восстановления пароля (в этой части уже открыты два окна №1 и №2)
  it('should open email', function(done) {
    client
      .pause(2000)
      .clickAndWait('[title="Восстановление пароля"]', 4000)
      .clickAndWait('[title="Восстановить пароль"]', 7000) // вот тут уже открывается popup window
      .pause(2000)
      //.assertText('.form__title', 'Восстановление пароля', 'password restore page is open')
      //.setValue('.form__row > #password', '123123')
      .pause(3000)
      .call(done);
  });

 

 

Заранее благодарю всех откликнувшихся.