我正在构建一个使用其他几个程序的Ruby程序,虽然它们中的大多数都是我可以下载并在这台计算机上运行的程序,但其中一个程序必须通过web浏览器访问和运行。
我实际上有两个问题:我发现了Watir,它看起来是一个很好的web自动化工具,但它是为了测试而设计的。是否仍然可以在主程序中使用Watir进行自动化,而不是用于测试?或者有没有更好的东西可以使用?
我的另一个问题是我不能让Watir工作。我下载了firewatir-1.6.5gem并为Firefox3.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上运行过火狐,但似乎没有什么帮助。
发布于 2010-06-19 19:05:40
Watir非常适合自动化浏览任务。出于这个目的,我个人已经使用过它几次。但是,您可能还需要考虑其他解决方案,例如。
现在,老实说,对于您的第二个问题,我没有太多要说的;我假设您已经将Watir设置为通过设置
Watir::Browser.default = 'firefox'如果是这样的话,一切都应该正常运行。安装jssh后,你重启firefox了吗?您是否按照tutorial上的说明安装了Watir和jssh?
我可以建议使用Internet Explorer运行Watir,而不是Firefox,但这可能不适合您的应用程序。如果所有其他方法都失败了,请尝试我之前推荐的其他框架。
发布于 2010-06-20 14:49:02
你可能还想试试无头选项。有时没有必要安装像Watir或Selenium这样的自动化框架,而像mechanize这样的简单东西就足够了。这真的取决于你想要自动化的东西的复杂性!
http://mechanize.rubyforge.org/mechanize/EXAMPLES_rdoc.html
https://stackoverflow.com/questions/3073385
复制相似问题