使用 Coypu 禁用 Chrome 自动化扩展
Disable Chrome Automation Extensions with Coypu
我正在尝试使用 Selenium Wrapper 创建一个自动化测试框架:Coypu。当我尝试 运行 自动 UI 测试时,我收到错误:"Failed to load extension from: (file path goes here). Loading of unpacked extensions is disabled by the administrator."
看来问题是我的组织没有将 Chrome 的自动化扩展列入白名单。我在网上找到的所有修复建议通过执行以下操作禁用 chrome selenium webdriver 扩展:
ChromeOptions options = new ChromeOptions();
options.AddAdditionalCapability("useAutomationExtension", false);
ChromeDriver driver = new ChromeDriver(options: options);
这是我设置海狸鼠浏览器会话的代码:
SessionConfiguration sessionConfig = new SessionConfiguration();
sessionConfig.Browser = Coypu.Drivers.Browser.Chrome;
sessionConfig.Timeout = TimeSpan.FromSeconds(30);
sessionConfig.RetryInterval = TimeSpan.FromSeconds(0.5);
//Browser is a static object that wraps a thread mapped dictionary of browserSessions.
//the start method adds a browser session to the Browser object's dictionary
Browser.Start(sessionConfig);
string DevEnviromentUrl = System.Configuration.ConfigurationManager.AppSettings["Dev"];
Browser.Visit(DevEnviromentUrl);
如何禁用海狸鼠的自动化扩展?
我以前遇到过这个问题,唯一真正的方法是从管理层获得许可,以允许从事自动化工作的用户进行扩展。
唯一的其他方法是降级 chrome 和没有扩展名的驱动程序版本(我不推荐)
试试
public class CustomChromeOptionsSeleniumWebDriver : SeleniumWebDriver
{
public CustomChromeOptionsSeleniumWebDriver(Browser browser)
: base(CustomProfile(), browser) {}
private static RemoteWebDriver CustomChromeOptions()
{
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArguments("start-maximized");
chromeOptions.AddArguments("--disable-extensions");
chromeOptions.AddArguments("useAutomationExtension", false);
return new ChromeDriver(chromeOptions);
}
}
[SetUp]
public void SetUp()
{
var configuration = new SessionConfiguration
{
Timeout = TimeSpan.FromMilliseconds(2000),
Driver = typeof(CustomChromeOptionsSeleniumWebDriver),
Browser = Browser.Chrome,
};
browser = new BrowserSession(configuration);
}
我正在尝试使用 Selenium Wrapper 创建一个自动化测试框架:Coypu。当我尝试 运行 自动 UI 测试时,我收到错误:"Failed to load extension from: (file path goes here). Loading of unpacked extensions is disabled by the administrator."
看来问题是我的组织没有将 Chrome 的自动化扩展列入白名单。我在网上找到的所有修复建议通过执行以下操作禁用 chrome selenium webdriver 扩展:
ChromeOptions options = new ChromeOptions();
options.AddAdditionalCapability("useAutomationExtension", false);
ChromeDriver driver = new ChromeDriver(options: options);
这是我设置海狸鼠浏览器会话的代码:
SessionConfiguration sessionConfig = new SessionConfiguration();
sessionConfig.Browser = Coypu.Drivers.Browser.Chrome;
sessionConfig.Timeout = TimeSpan.FromSeconds(30);
sessionConfig.RetryInterval = TimeSpan.FromSeconds(0.5);
//Browser is a static object that wraps a thread mapped dictionary of browserSessions.
//the start method adds a browser session to the Browser object's dictionary
Browser.Start(sessionConfig);
string DevEnviromentUrl = System.Configuration.ConfigurationManager.AppSettings["Dev"];
Browser.Visit(DevEnviromentUrl);
如何禁用海狸鼠的自动化扩展?
我以前遇到过这个问题,唯一真正的方法是从管理层获得许可,以允许从事自动化工作的用户进行扩展。
唯一的其他方法是降级 chrome 和没有扩展名的驱动程序版本(我不推荐)
试试
public class CustomChromeOptionsSeleniumWebDriver : SeleniumWebDriver
{
public CustomChromeOptionsSeleniumWebDriver(Browser browser)
: base(CustomProfile(), browser) {}
private static RemoteWebDriver CustomChromeOptions()
{
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArguments("start-maximized");
chromeOptions.AddArguments("--disable-extensions");
chromeOptions.AddArguments("useAutomationExtension", false);
return new ChromeDriver(chromeOptions);
}
}
[SetUp]
public void SetUp()
{
var configuration = new SessionConfiguration
{
Timeout = TimeSpan.FromMilliseconds(2000),
Driver = typeof(CustomChromeOptionsSeleniumWebDriver),
Browser = Browser.Chrome,
};
browser = new BrowserSession(configuration);
}