自动化Firefox和Chrome浏览器

21

我正在寻找一种方法,可以从外部应用程序/进程自动化一些浏览器,如Firefox和Chrome(目前仅限Windows)。

是否有一种方法可以沿着这些方向进行操作:

  1. 使用URL启动浏览器
  2. 让浏览器加载页面,运行脚本等
  3. 检查DOM

作为参考,IE可以使用InternetExplorer.Application对象进行自动化,该对象可以在shell脚本中使用以下JavasSript创建。然后,我可以遍历DOM API:

var ie = new ActiveXObject('InternetExplorer.Application');

这里的激励场景是自动化测试。我想加载包含测试代码的页面,并在测试运行后收集结果。

看看 Watin 库,它支持 Firefox,并具有 Chrome 的实验性支持(以及 IE)http://watin.sourceforge.net/ - Kevin Dente
1
如果您熟悉Ruby,请使用Watir。如果您熟悉.NET,请使用Watin。还可以考虑使用Selenium。它有一个Firefox插件用于记录测试,并且还具有在多个浏览器或平台上运行测试的机制。 - Seth Petry-Johnson
2个回答

11

https://sourceforge.net/projects/watin/

WatiN可以做到这一点,我相信他们最近添加了Chrome支持。

更新于2011年6月22日:

目前,WatiN仅适用于Firefox 2和3,而不适用于Firefox 4(几乎肯定不适用于今天发布的Firefox 5)。此外,在回答时,据说正在添加Chrome支持,但看起来从未完全实现,并且现在未列为其主页上支持的平台。

值得注意的是,根据我的经验,当我升级到IE9时,WatiN变得非常慢。我在两台不同的机器上都看到了这个问题,并且在两台机器上降级到IE8后,测试速度都加快了。

我仍然大量使用WatiN,但现在主要用于行为驱动设计和功能回归测试,这些通常不特定于浏览器。然后,手动在FF和Chrome中进行所有回归测试。

更新于2015年9月22日:

Elmue是正确的,看起来WatiN不再被开发。我们现在正在研究Selenium用于自动化接受测试:https://www.selenium.dev/


1
看起来 Watin 项目已经死了。Sourceforge 上的最后更新是在2011年。 - Elmue
是的,这很遗憾。WatiN曾经是一款非常优秀的软件,但看起来它在几年前就停止更新了。 - Mike Mooney

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接