【发布时间】:2016-05-03 19:23:44
【问题描述】:
问题
在 Saucelabs 上远程执行 Selenium 测试期间尝试安装 Firefox 浏览器扩展。在本地执行测试时,扩展在 Firefox 中已安装并处于活动状态,但在 Saucelabs 上远程执行时,扩展不会出现在已安装扩展的列表中。按照这个 Saucelabs support article 中概述的步骤。
设置
Selenium.Support v2.48.2 或 v2.49.0
Selenium.WebDriver v2.48.2 或 v2.49.0
Windows 10 或 7
火狐43
C# 测试设置
private static FirefoxProfile CreateFirefoxProfile()
{
FirefoxProfile profile = new FirefoxProfile();
profile.AddExtension("Tools/modify_headers-0.7.1.1-fx.xpi");
profile.SetPreference("general.useragent.override", "UA-STRING");
profile.SetPreference("extensions.modify_headers.currentVersion", "0.7.1.1-signed");
profile.SetPreference("modifyheaders.headers.count", 1);
profile.SetPreference("modifyheaders.headers.action0", "Add");
profile.SetPreference("modifyheaders.headers.name0", "SampleHeader");
profile.SetPreference("modifyheaders.headers.value0", "test1234");
profile.SetPreference("modifyheaders.headers.enabled0", true);
profile.SetPreference("modifyheaders.config.active", true);
profile.SetPreference("modifyheaders.config.alwaysOn", true);
profile.SetPreference("modifyheaders.config.start", true);
return profile;
}
private static IWebDriver GetRemoteDriver()
{
var capabilities = new DesiredCapabilities();
var profile = CreateFirefoxProfile();
capabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, profile);
capabilities.SetCapability("name", buildContext);
capabilities.SetCapability(CapabilityType.BrowserName,"firefox");
capabilities.SetCapability(CapabilityType.Version,"");
capabilities.SetCapability(CapabilityType.Platform, "Windows 10");
capabilities.SetCapability("screen-resolution", "1280x1024");
capabilities.SetCapability("username", "SaucelabsUserName");
capabilities.SetCapability("accessKey", "SaucelabsAccessKey");
capabilities.SetCapability("build", "BuildNumber");
return new RemoteWebDriver(new Uri("http://ondemand.saucelabs.com/wd/hub"), capabilities);
}
Firefox 设置
在本地执行期间查看 Firefox 中的 about:support 并打开 user.js 文件时,它包括以下与 Web 驱动程序配置匹配的扩展设置。检查 Saucelabs 远程实例上的 user.js 不包括该内容。这是远程 user.js 文件内容的paste bin。
user_pref("general.useragent.override", "UA-STRING");
user_pref("extensions.modify_headers.currentVersion", "0.7.1.1-signed");
user_pref("modifyheaders.headers.count", 1);
user_pref("modifyheaders.headers.action0", "Add");
user_pref("modifyheaders.headers.name0", "SampleHeader");
user_pref("modifyheaders.headers.value0", "test1234");
user_pref("modifyheaders.headers.enabled0", true);
user_pref("modifyheaders.config.active", true);
user_pref("modifyheaders.config.alwaysOn", true);
user_pref("modifyheaders.config.start", true);
我也尝试过引用 xpi 的外部版本,结果相同。 https://addons.mozilla.org/firefox/downloads/latest/967/addon-967-latest.xpi
【问题讨论】:
标签: java c# firefox selenium saucelabs