如何防止Watir自动关闭firefox?

时间:2011-05-20 14:42:11

标签: ruby firefox watir firewatir

我使用Ruby和Watir自动化测试用例。我的一种方法打开了Web浏览器,但只要我的脚本离开“打开浏览器”方法并转到下一个方法(在浏览器中填写表单),浏览器就会自动关闭。当我自动使用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

2 个答案:

答案 0 :(得分:1)

我使用Test Unit类,我在setup方法中打开浏览器并且通常在拆解方法中将其关闭,这对我来说在IE&amp; Firefox浏览器。

此处提供更多信息,http://wiki.openqa.org/display/WTR/Test+Unit

答案 1 :(得分:1)

我试图在NetBeans中运行此代码,因此这种行为可能只针对该编辑器。

我发现有两个原因导致它关闭,首先是当代码出错时,浏览器会在抛出异常时立即关闭。其次,如果没有建立睡眠,浏览器会在程序结束时关闭。