自动化 Firefox 和 Chrome 浏览器

问题描述 投票:0回答:3

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

有没有办法按照这些思路做事:

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

作为参考,IE 可以使用

InternetExplorer.Application
对象实现自动化,该对象可以使用以下 JavasSript 在 shell 脚本中创建。然后我就可以使用 DOM API 了:

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

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

firefox testing automation google-chrome
3个回答
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/


0
投票

TestR 可以让您自动化 IE、FF 和 Chrome。我已经开始致力于 Edge 支持,但只是没有时间。

https://github.com/BobbyCannon/TestR

您可以使用nuget包。

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

这里有一些例子。

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


0
投票

尝试木偶师

Puppeteer 是一个 Node.js 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chrome/Chromium。 Puppeteer 默认情况下以无头模式运行,但可以配置为在完整(“有头”)Chrome/Chromium 中运行。

它能做什么?

您可以在浏览器中手动执行的大多数操作都可以使用 Puppeteer 完成!以下是一些帮助您入门的示例:

  • 生成页面的屏幕截图和 PDF。

  • 抓取 SPA(单页应用程序)并生成预渲染 内容(即“SSR”(服务器端渲染))。

  • 自动化表单提交、UI 测试、键盘输入等

  • 使用最新的JavaScript创建自动化测试环境 和浏览器功能。

  • 捕获站点的时间线跟踪以帮助诊断性能 问题。

  • 测试 Chrome 扩展。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.