watir browser.attach перезаписывает предыдущий объект браузера

Мне нужно проверить вход в систему с помощью Facebook Connect на моем сайте. При нажатии кнопки «Подключиться с помощью Facebook» открывается всплывающее окно.

Я использую ie = Watir::Browser.attach(:title, 'Login | Facebook'), чтобы назначить это новое окно новому объекту. Но каким-то образом предыдущий объект браузера также ссылается на новый объект.

b = Watir::Browser.start( "http://www.pstom.com" )
b.link(:text, "Connect with Facebook").click
irb(main):081:0> puts b.title
PSToM - Home
=> nil
ie = Watir::Browser.attach(:title, 'Login | Facebook')
 puts b.title
Login | Facebook
=> nil
irb(main):085:0> puts ie.title
Login | Facebook
=> nil

Что пошло не так (тестирую в IRB в Ubuntu)


person robert    schedule 26.03.2011    source источник
comment
Я попробовал это на своем компьютере с Windows (на моем компьютере с Ubuntu установлена ​​​​FF 4.0, поэтому Watir на нем не работает), и он вел себя так, как и следовало ожидать. Вы тестировали это вне IRB? Кроме того, есть ли какой-либо код, который не был включен в вопрос?   -  person juan2raid    schedule 26.03.2011
comment
Кто-то с возможностью повторной пометки должен добавить к этому вопросу тег firewatir.   -  person Chuck van der Linden    schedule 29.03.2011
comment
Также убедитесь, что вы получили разрешение от Facebook, прежде чем использовать любую автоматизацию для доступа к их сайту. Поскольку в противном случае вы нарушаете Условия обслуживания и можете внезапно обнаружить, что ваша учетная запись закрыта или, что еще хуже, ваш IP-адрес заблокирован или что-то в этом роде.   -  person Chuck van der Linden    schedule 29.03.2011


Ответы (2)



Я получил правильное поведение в Windows/IE. Какие версии у вас есть? У меня рубин 1.8.7 и ватир 1.7.1

irb(main):001:0> require 'watir'
=> true
irb(main):002:0> a = Watir::Browser.attach(:title, 'Google')
=> #<Watir::IE:0x4ecfde0 url="http://www.google.com/" title="Google">
irb(main):003:0> puts a.title
Google
=> nil
irb(main):004:0> b = Watir::Browser.attach(:title, 'Bing')
=> #<Watir::IE:0x4ea59d8 url="http://www.bing.com/" title="Bing">
irb(main):005:0> puts b.title
Bing
=> nil
irb(main):006:0> puts a.title
Google
=> nil
irb(main):007:0>
person Dave McNulla    schedule 26.03.2011