据我所知,mozrepl 使用 WWW::Mechanize::Firefox 来自动化 firefox。IE。您创建脚本并点击解释命令,将其作为输出发送到 firefox 浏览器。
另一方面,Selenium 允许您在浏览器中记录操作,并且您可以将操作输出为各种语言的脚本。
因此,本质上,mozrepl 将脚本(片段)作为输入,将输出作为浏览器操作。Selenium 接受浏览器操作并将它们作为脚本输出。
或者他们都可以执行这些功能吗?我在正确的轨道上吗?
你误解了MozRepl
和WWW::Mechanize::Firefox
。Mozrepl
是 Firefox 的一个扩展,它提供了一个 telnet 接口(默认情况下在端口 4242 上),可以直接访问 Firefox 的Gecko 引擎的内部功能,包括每个窗口的文档对象模型。
该接口可以直接在控制台使用,也可以由软件驱动,例如 PerlWWW::Mechanize::Firefox
模块,它提供了与模块类似的接口WWW::Mechanize
。还有一个MozRepl
Perl 模块以相同的方式连接到扩展,但提供了不同的 API。
然后可以运行 selenium 生成的脚本,因此它确实执行了这两个功能。
你有它倒退; WWW::Mechanize::Firefox 使用 mozrepl,而不是相反。
Selenium 在浏览器上用 javascript 实现,支持多种浏览器;它通常用于测试。
另一方面,WWW::Mechanize::Firefox 通常用于抓取或执行一些需要浏览器的操作,而不是测试。