在Nightwatch中设置Firefox首选项

Mad*_*nie 8 javascript firefox selenium selenium-webdriver nightwatch.js

你如何在守夜人中设置firefox首选项?我想在带有夜间表的java中做相同的操作.

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("intl.accept_languages", "de");
WebDriver driver = new FirefoxDriver(profile);
Run Code Online (Sandbox Code Playgroud)

我有这个工作在chrome,但我再也无法弄清楚如何在Firefox中做到这一点.

"desiredCapabilities": {
  "browserName": "chrome",
  "javascriptEnabled": true,
  "acceptSslCerts": true,
  "chromeOptions" :{
    "prefs": {
      "intl.accept_languages":"fr"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

Nic*_*nec 5

解决方案是为您的Nightwatch测试创建Firefox配置文件.

1)创建一个新的Firefox配置文件:

在终端中,执行以下命令:" firefox -p "
然后创建一个名为" webdriver "的profil.

2)配置新配置文件

使用url转到此配置页面:about:config
搜索名称" intl.accept_languages "并更新值.
现在退出Firefox.

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

  1. "webdriver.firefox.profile":" webdriver "

  2. 列表项"browserName":" firefox "

小心 !它不是"desiredCapability"参数.

解决方案1 ​​:(测试配置)

{
  "yourTest" : {
    "default" : {
       ...
       "webdriver.firefox.profile" : "webdriver",
       "launch_url": "http://localhost:3000",
       "desiredCapabilities" : {
         "browserName" : "firefox",
         "javascriptEnabled" : true,
         "acceptSslCerts" : true
    }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

解决方案2 :(全局配置)

{
  ...
  "selenium" : {
    "start_process" : false,
    "server_path" : "",
    "log_path" : "",
    "host" : "127.0.0.1",
    "port" : 4444,
    "cli_args" : {
      "webdriver.chrome.driver" : "",
      "webdriver.ie.driver" : "",
      "webdriver.firefox.profile" : "webdriver"
    }
  },
  ...
  "yourTest": {
    "default": {
        "launch_url": "http://localhost:3000",
        "desiredCapabilities" : {
            "browserName" : "firefox",
            "javascriptEnabled" : true,
            "acceptSslCerts" : true
        }
    },
  ...
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

检查selenium设置:http://nightwatchjs.org/guide#selenium-settings