使用JSON Wire Protocol时,Selenium不使用webdriver.firefox.profile

时间:2015-05-19 16:44:13

标签: selenium selenium-webdriver selenium-firefoxdriver nightwatch.js

我启动了配置文件管理器并创建了一个名为foo的新配置文件。我在启动firefox时默认选择使用此配置文件,然后启动firefox并关闭它。

我使用参数-Dwebdriver.firefox.profile=foo启动selenium。我在服务器的输出中看到,这已被设置为默认配置文件。

但是,当通过NightwatchJS(JSON有线协议)开始新会话时,会为会话创建匿名配置文件,而不是使用预先创建的配置文件。我也试过传递firefox_profile期望的能力,但这似乎没有什么区别。

这是一个已知问题,是否有某种解决方法?

  • Selenium版本:2.45.0
  • 测试的Firefox版本:28,35,38
  • 守夜人版本:0.6.9(我不相信这与守夜人有关)

1 个答案:

答案 0 :(得分:0)

您应该在 nighwatch.json 配置文件中定义目标个人资料:

解决方案1 ​​

在全球selenium配置中:

http://nightwatchjs.org/guide#selenium-settings

"selenium" : {
  ...
  "cli_args" : {
    "webdriver.firefox.profile" : "foo"
  }
},

解决方案2

在浏览器配置中:

按照此文档的第3部分:https://github.com/beatfactor/nightwatch/wiki/Enable-Firebug-in-Firefox-for-Nightwatch-tests

  

3)配置Nightwatch以使用新配置文件

     

打开nightwatch.json文件,在test_settings中添加一个名为>的属性。 firefox_profile在所需的环境下(例如"默认")。将此属性设置为您在步骤1中创建的新firefox配置文件名称(例如" foo")。

"test_settings" : {
   "default" : {
     ...
     "firefox_profile" : "foo",
     ...
   }
}

小心!它的 a" desiredCapability"参数; - )