我使用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
答案 0 :(得分:1)
我使用Test Unit类,我在setup方法中打开浏览器并且通常在拆解方法中将其关闭,这对我来说在IE&amp; Firefox浏览器。
答案 1 :(得分:1)
我试图在NetBeans中运行此代码,因此这种行为可能只针对该编辑器。
我发现有两个原因导致它关闭,首先是当代码出错时,浏览器会在抛出异常时立即关闭。其次,如果没有建立睡眠,浏览器会在程序结束时关闭。