使用量角器在 Firefox 上设置用户代理并使用 seleniumAddress 不起作用
Setting user agent on firefox with protractor and using seleniumAddress does not work
我想使用 Protractor 和 Firefox 设置特定的用户代理。如果我在 protractor.conf.js 上使用 directConnect,它会起作用:
//selenium-webdriver is installed via npm
var firefox = require('selenium-webdriver/firefox');
var firefoxProfile = new firefox.Profile();
firefoxProfile.setPreference("general.useragent.override", 'monitoring1152936086');
exports.config = {
directConnect: true,
capabilities: {
'browserName': 'firefox',
'firefox_profile': firefoxProfile
},
...
}
但是,如果我使用 seleniumAddress 而不是 directConnect,它就不起作用。测试确实有效,但未使用用户代理。我需要使用硒服务器。例如:
var firefox = require('selenium-webdriver/firefox');
var firefoxProfile = new firefox.Profile();
firefoxProfile.setPreference("general.useragent.override", 'monitoring1152936086');
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
'browserName': 'firefox',
'firefox_profile': firefoxProfile
},
...
}
附带说明一下,我不能使用 chrome,因为我正在尝试使用 Firefox 作为解决量角器和 selenium-docker 与 chrome 不太稳定组合的解决方法(https://github.com/SeleniumHQ/docker-selenium/issues/87).
有什么想法吗?谢谢!
在直接连接的情况下,Protractor 会自行创建浏览器,因此它可以通过浏览器进行全面配置。在远程情况下,Protractor 的控制较少,因为它连接到由 webdriver-manager
启动的 selenium 服务器。通过 firefox 配置文件的正确时间是 webdriver-manager
启动时,但 Protractor 当前不提供此功能。
我想使用 Protractor 和 Firefox 设置特定的用户代理。如果我在 protractor.conf.js 上使用 directConnect,它会起作用:
//selenium-webdriver is installed via npm
var firefox = require('selenium-webdriver/firefox');
var firefoxProfile = new firefox.Profile();
firefoxProfile.setPreference("general.useragent.override", 'monitoring1152936086');
exports.config = {
directConnect: true,
capabilities: {
'browserName': 'firefox',
'firefox_profile': firefoxProfile
},
...
}
但是,如果我使用 seleniumAddress 而不是 directConnect,它就不起作用。测试确实有效,但未使用用户代理。我需要使用硒服务器。例如:
var firefox = require('selenium-webdriver/firefox');
var firefoxProfile = new firefox.Profile();
firefoxProfile.setPreference("general.useragent.override", 'monitoring1152936086');
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
'browserName': 'firefox',
'firefox_profile': firefoxProfile
},
...
}
附带说明一下,我不能使用 chrome,因为我正在尝试使用 Firefox 作为解决量角器和 selenium-docker 与 chrome 不太稳定组合的解决方法(https://github.com/SeleniumHQ/docker-selenium/issues/87).
有什么想法吗?谢谢!
在直接连接的情况下,Protractor 会自行创建浏览器,因此它可以通过浏览器进行全面配置。在远程情况下,Protractor 的控制较少,因为它连接到由 webdriver-manager
启动的 selenium 服务器。通过 firefox 配置文件的正确时间是 webdriver-manager
启动时,但 Protractor 当前不提供此功能。