Как запретить Watir автоматически закрывать Firefox?

Я автоматизирую тестовые случаи, используя Ruby и Watir. Один из моих методов открывает веб-браузер, но как только мой скрипт покидает метод «открыть браузер» и переходит к следующему методу (заполнение форм в браузере), браузер автоматически закрывается. Когда я автоматизирую с помощью браузера IE, он не закроется, пока не попадет в оператор IE.close, но с firefox он закрывается автоматически. Есть ли способ избежать этого?

Код:

require 'rubygems'
require 'watir-webdriver'
require 'rexml/document'

def openbrowser
  $user = "user"
  $pass = "password"

  ff = Watir::Browser.new :firefox
  ff.goto "http://<some website>"
  ff.text_field(:name, "username").set($user)
  ff.text_field(:name, "password").set($pass)
  ff.button(:value,"Sign In").click
  ff.link(:xpath => "html/body/div[1]/div[2]/a[1]").click
  ff.text_field(:name,"userID").set($ID)
  ff.button(:value,"View User").click
  ff.link(:xpath => "html/body/div[1]/ul[1]/li[2]/a").click

  sleep 20
end

# Run Program
openbrowser

person urbanaut    schedule 20.05.2011    source источник
comment
Чтение мыслей не работает. Покажите нам код.   -  person Željko Filipin    schedule 20.05.2011
comment
Я считаю, что на самом деле читать пост намного проще, чем читать мысли ;-)   -  person urbanaut    schedule 25.05.2011
comment
Я прочитал ваш пост. Вы не предоставили достаточно информации, и сказали, какую информацию вы должны предоставить.   -  person Željko Filipin    schedule 25.05.2011
comment
Извините, ошибка новичка, код добавлен.   -  person urbanaut    schedule 25.05.2011
comment
Вы быстро учитесь. :) Предоставленный вами код не закроет браузер. Пожалуйста, предоставьте более актуальный код. Вероятно, anothermethod код.   -  person Željko Filipin    schedule 26.05.2011
comment
Весь код включен. На этот раз я попытался просто запустить один метод со сном, и он полностью игнорирует сон и отключается :-(   -  person urbanaut    schedule 26.05.2011


Ответы (2)


Я пытался запустить этот код в NetBeans, поэтому такое поведение может быть связано только с этим редактором.

Было две причины, по которым я обнаружил его отключение: во-первых, когда в коде возникает ошибка, браузер закрывается, как только возникает исключение. Во-вторых, браузер закрывается в конце программы, если не установлен режим сна.

person urbanaut    schedule 26.05.2011
comment
Это также происходит, когда вы запускаете его из командной строки? Я не могу воспроизвести это поведение - у меня работает браузер. - person jarib; 20.09.2011

Я использую класс Test Unit, я открываю браузер в методе настройки и обычно закрываю его в методе разрыва, это работает для меня в IE и Firefox.

Дополнительная информация здесь, http://wiki.openqa.org/display/WTR/Test+Unit

person Alastair Montgomery    schedule 23.05.2011