【问题标题】:How do I prevent Watir from auto closing firefox?如何防止 Watir 自动关闭 Firefox?
【发布时间】:2011-08-29 17:39:19
【问题描述】:

我正在使用 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

【问题讨论】:

  • 读心术不起作用。向我们展示代码。
  • 我发现实际上阅读这篇文章比读心术要容易得多;-)
  • 我已阅读您的帖子。您没有提供足够的信息,并说您应该提供哪些信息。
  • 对不起,新手错误,代码已经添加。
  • 你学得很快。 :) 您提供的代码不会关闭浏览器。请提供更多相关代码。可能是anothermethod 代码。

标签: ruby firefox watir firewatir


【解决方案1】:

我使用 Test Unit 类,我在 setup 方法中打开浏览器,一般在 teardown 方法中关闭它,这在 IE 和 Firefox 中适用。

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

【讨论】:

    【解决方案2】:

    我试图在 NetBeans 中运行此代码,因此此行为可能只是特定于该编辑器。

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

    【讨论】:

    • 从命令行运行时也会发生这种情况吗?我无法重现该行为 - 浏览器仍在为我运行。
    猜你喜欢
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多