В вашем коде вы должны добавить чек при переходе в новое окно. В вашем коде вы находитесь в текущем окне.
//Switching to new window
for(String winHandle : driver.getWindowHandles()){
if(!(winHandle.equals(winHandleBefore)){
driver.switchTo().window(winHandle);
}
}
Это должно сработать для вас.
Хм,
Я полагаю, что можно кодировать несколько зависимостей, потому что я заметил драгоценные камни, которые, казалось, сделали это. Но я был бы Вы отговаривать от выполнения этого. Неважно, насколько простой код, который Вы вводите здесь, когда Вы полагаете, что пользователь будет загружать один драгоценный камень, который зависит от другого, который зависит от другого, даже маленького незначительного сбоя в логике одной части кода, или другой может заставить целую зависимость обучить кошмар.
Так, я оставил бы Ваш клудж как есть. Далее, я предложил бы, чтобы у Вас был tarball, который пользователи могут загрузить также. Я должен был вручную извлечь код в драгоценных камнях, код конфигурации которых не позволил бы мне установить их.
ознакомьтесь с учебником здесь: https://github.com/rdp/ruby_tutorials_core / wiki / gem ( https://en.wikibooks.org/wiki/Ruby_Programming/RubyGems )
он показывает, как устанавливать различные версии зависимостей в зависимости от того, какая версия ruby установлена. использует.
(короткий ответ - это не так просто, как должно быть)