我在测试中使用硒FirefoxDriver,并且并行运行这些测试-在每个线程中运行单独的Firefox实例。当我使用普通的FireFox时,一切正常,但是如果我想使用Firefox可移植程序运行这些测试,则第一个实例启动成功,但是第二个,第三个实例启动失败,并显示以下错误:
您的Firefox配置文件无法加载。它可能丢失或无法访问。
这就是我从代码启动Firefox的方式:
var profile = new FirefoxProfileManager().GetProfile("default");
var firefoxBinary = new FirefoxBinary("Path to FireFoxPortable.exe");
_driver = new FirefoxDriver(firefoxBinary, profile);
有什么想法我做错了吗?谢谢。
Firefox驱动程序正尝试使用已使用的配置文件启动Firefox。这是不可能的,因为配置文件只能使用一次。多次手动启动Firefox时似乎可以正常工作的原因是,Firefox将使用已加载的配置文件重用现有的正在运行的Firefox进程。
根据此信息,您的问题的解决方案是:1)使Firefox驱动程序以唯一/新的配置文件启动Firefox,2)更改您的代码,以便仅需要Firefox驱动程序的一个实例。
要使用多个实例启动Firefox,请使用:firefox.exe -P“我的配置文件” -no-remote。请勿在启动的第一个配置文件中使用-no-remote参数,在您的情况下,该配置文件将是“默认”配置文件。有关更多信息,请访问:http : //kb.mozillazine.org/Opening_a_new_instance_of_Firefox_with_another_profile。
要使用不同的配置文件启动Firefox Portable,如果先前的命令不适用于Firefox Portable,请按照以下说明进行操作:http : //portableapps.com/support/firefox_portable#second_profile。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句