我正在尝试使用Selenium包装器创建一个自动化测试框架: Coypu。当我尝试运行一个Automated UI测试时,我得到了一个错误:"Failed to load extension from:(文件路径在这里)。管理员禁止加载未打包的扩展。“
问题似乎是我的组织没有将Chrome的自动化扩展列入白名单。我在网上找到的所有修复都建议通过执行以下操作禁用selenium webdriver的chrome扩展:
ChromeOptions options = new ChromeOptions();
options.AddAdditionalCapability("useAutomationExtension", false);
ChromeDriver driver = new ChromeDriver(options: options);下面是我设置coypu浏览器会话的代码:
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);如何禁用coypu中的自动化扩展?
发布于 2019-10-08 04:45:21
试试像这样的东西
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);
}发布于 2019-10-08 04:38:55
我以前遇到过这个问题,唯一真正的方法是从管理层那里获得许可,以便为从事自动化工作的用户提供扩展。
唯一的另一种选择是降低你的chrome和没有扩展名的驱动程序版本(我不推荐这样做)。
https://stackoverflow.com/questions/58273673
复制相似问题