Browser 在Ruby中使用带有watir webdriver的自定义浏览器

Browser 在Ruby中使用带有watir webdriver的自定义浏览器,browser,selenium,rubygems,webdriver,watir-webdriver,Browser,Selenium,Rubygems,Webdriver,Watir Webdriver,除了传统的:opera、:ie、:chrome或:firefox之外,如何告知Watir使用新的或定制的web浏览器 比如说 $browser = Watir::Browser.new :firedog 如果说:firedog实际上只是Firefox的一个自定义版本*,或者是具有自定义参数的Firefox,那么修改底层Selenium驱动程序类需要什么?(*这样,我就可以担心在自定义ff中单独嵌入webdriver插件。) 希望避免创建新的gem,如果可能的话,只需扩展所需的gem,但不确定如

除了传统的:opera、:ie、:chrome或:firefox之外,如何告知Watir使用新的或定制的web浏览器

比如说

$browser = Watir::Browser.new :firedog
如果说:firedog实际上只是Firefox的一个自定义版本*,或者是具有自定义参数的Firefox,那么修改底层Selenium驱动程序类需要什么?(*这样,我就可以担心在自定义ff中单独嵌入webdriver插件。)


希望避免创建新的gem,如果可能的话,只需扩展所需的gem,但不确定如何在Ruby实现中做到这一点。

这可能是您需要询问Selenium Webriver列表上的人员的问题。我已经添加了webdriver标签,但我不确定有多少人会出现在这里


一旦创建了一个驱动程序(类似于我期望的chromedriver或operadriver),并且这些东西与webdriver一起工作,那么它应该适用于任何构建在它之上的东西,比如watir webdriver

如果您的目的只是自定义配置文件,添加扩展,那么您可以自由使用已经实现的API。如果您有自定义的Firefox构建,您仍然可以向其中添加WebDriver插件,并只覆盖Firefox的二进制路径


这一切都在

中描述,我已经看到了这一切;已经使用了专门的配置文件和经过特别调整的设置和扩展(是的,能够在同一服务器上的多个ff版本之间切换)。知道如何覆盖Selenium用于启动Firefox的命令行参数吗?我至少知道如何欺骗
Selenium::WebDriver::Firefox.path
在我的实际浏览器周围使用包装器:在执行
exec
之前,应用Bash技巧转移不需要的参数并添加自定义参数。但是我已经想到了一些可能不起作用的原因。在这种情况下,当
浏览器关闭时,你会遇到一个老问题。关闭
不会杀死Firefox进程,而只杀死启动它的bash脚本。一个
bash exec
完全用子脚本替换父脚本,内存中的脚本本身就不存在了,与
fork不同
。不管怎么说,关闭浏览器是我最不担心的事情,我已经在watir运行之外进行了相当好的清理检查。我还没有测试上面的包装器方法——将报告结果。