How do I prevent Watir from auto closing firefox?

2019-09-26 07:41发布

I am automating test cases using Ruby and Watir. One of my methods opens the web browser, but as soon as my script leaves the "open browser" method and goes to the next method (filling out forms within the browser), the browser auto closes. When I automate using the IE browser it will not close until it hits the IE.close statement, but with firefox it closes automatically. Is there any way to avoid this?

Code:

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

2条回答
beautiful°
2楼-- · 2019-09-26 08:23

I use the Test Unit class, I open the browser in the setup method and generally close it down in the teardown method, this works for me in IE & Firefox.

More information here, http://wiki.openqa.org/display/WTR/Test+Unit

查看更多
手持菜刀,她持情操
3楼-- · 2019-09-26 08:28

I was attempting to run this code in NetBeans, so this behavior may just be specific to that editor.

There were two causes I have found for it shutting down, first is when there is an error in the code, the browser will shut down as soon as an exception is thrown. Second, the browser shuts down at the end of the program if there is no sleep established.

查看更多
登录 后发表回答