Здравствуйте, уважаемые форумчане!
Я совсем-совсем новичок в автоматизированном тестировании, и JS для меня тоже в новинку. Тем не менее сейчас активно изучаю эту область знаний.
В процессе работы возник затык следующего плана.
Пишу проверку восстановления пароля. По умолчанию открыто основное окно браузера(1), в процессе проверки пишу команду .newWindow чтобы открыть второе окно(2) для логина в почту. В почте соответственно открываю нужное письмо, жму на ссылку и селениум открывает popup window (3) которое находится не в фокусе. Фокус по-прежнему висит на окне(2). Задача - переключиться на окно№3 и дальше совершать в нем уже остальные действия.
Предполагаю, что возможно выполнить эту задачу через команду .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);
});
Заранее благодарю всех откликнувшихся.