代码之家  ›  专栏  ›  技术社区  ›  Nikhil Kothari

自动运行Firefox和Chrome浏览器

  •  20
  • Nikhil Kothari  · 技术社区  · 15 年前

    我正在寻找一种自动化两个浏览器的方法…来自外部应用程序/进程的Firefox和Chrome(目前仅在Windows上)。

    有没有一种方法可以做到这一点:

    1. 使用URL启动浏览器
    2. 让浏览器加载页面、运行脚本等。
    3. 视察DOM

    作为参考,IE可以使用InternetExplorer.Application对象实现自动化,该对象可以使用以下JavaScript在shell脚本中创建,然后我可以使用domAPI:

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

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

    2 回复  |  直到 7 年前
        1
  •  11
  •   Mike Mooney    9 年前

    http://watin.sourceforge.net/

    Watin就是这么做的,我相信他们最近增加了对Chrome的支持

    2011年6月22日更新: 目前,watin只能在firefox 2和3上使用,而不能在firefiox 4上使用(几乎可以肯定,今天发布的firefox 5也不能使用)。而且,在这个答案出现的时候,Chrome支持应该已经被添加了,但是它看起来从未被完全烘焙过,现在也没有被列为主页上的支持平台。

    同样值得注意的是,根据我的经验,当我升级到IE9的时候,watin的速度变慢了很多。我在两台不同的机器上看到了这一点,并将其降级到IE8以加速两台机器上的测试。

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

    更新日期:2015年9月22日: Elmue是对的,看起来Watin已经不在工作了。我们现在正在为自动化验收测试寻找硒: http://www.seleniumhq.org

        2
  •  0
  •   Bobby Cannon    7 年前

    Testr将让您自动化IE、FF和Chrome。我已经开始研究边缘支持,但还没有时间。

    https://github.com/BobbyCannon/TestR

    您可以使用nuget包。

    https://www.nuget.org/packages/TestR/

    下面是一些例子。

    https://docs.epiccoders.com/Page/35/TestR