自动化Web访问和Watir

时间:2010-06-18 22:14:20

标签: ruby firefox watir webautomation

我正在构建一个使用其他几个程序的Ruby程序,虽然其中大多数是我可以在这台计算机上下载和运行的程序,但必须通过Web浏览器访问和运行一个程序。

我实际上有两个问题:我发现Watir看起来像一个很好的网络自动化工具,但它用于测试。是否仍然可以在主程序中使用Watir进行自动化,而不是用于测试?或者有更好的东西可供使用吗?

我的另一个问题是我无法让Watir工作。我下载了firewatir-1.6.5 gem并为Firefox 3.6安装了jssh,但是当我运行

b = Watir::Browser.start("the_web_page_address")

它只是为Google打开一个新的Firefox窗口,我收到错误:

Unable to connect to machine : foo.bar.baz.blah on port 9997. Make sure that JSSh is properly installed and Firefox is running with '-jssh' option (Watir::Exception::UnableToStartJSShException)

我使用-jssh运行Firefox,但似乎没有帮助。

2 个答案:

答案 0 :(得分:2)

Watir非常适合自动化浏览任务。我亲自为此目的使用了几次。但是,您可能还想查看其他解决方案,例如Selenium


现在,说实话,我对你的第二个问题没什么好说的; 我假设您通过设置

将Watir设置为打开firefox
Watir::Browser.default = 'firefox'

如果是这样,事情应该正常运行。你安装jssh后重启了Firefox吗?您是否按照tutorial上的说明安装了Watir和jssh?

我建议使用Internet Explorer而不是Firefox运行Watir,但这可能不适合您的应用程序。如果所有其他方法都失败了,请尝试我之前推荐的其他框架。

答案 1 :(得分:2)

您也可以查看无头选项。有时,没有必要安装像Watir或Selenium这样的自动化框架,就像机械化这样简单就足够了。真的取决于你想要自动化的复杂性!

http://mechanize.rubyforge.org/mechanize/EXAMPLES_rdoc.html