Chrome中的量angular器错误消息“不支持的命令行标志”?

我是Protractor的新用户,我遇到了使用Chrome运行我的testing的错误错误显示在已启动浏览器的地址栏下面 ):

您正在使用不受支持的命令行标志–ignore-certificate-errors。 稳定性和安全性将受损。

这是我的量angular器conf.js:

exports.config = { seleniumAddress: 'http://localhost:4444/wd/hub', capabilities: { 'browserName': 'chrome' }, ... 

另外,我正在使用最新的可用Chromedriver和Selenium独立服务器(2.41.0)的Mac。 现在,我没有在任何地方设置这个标志,我不记得它总是显示,所以我不知道是什么造成了这个问题。

任何想法如何解决这个问题?

如果您使用量angular器 ,这可能是您正在寻找的configuration:

 capabilities : { browserName : 'chrome', 'chromeOptions': { args: ['--test-type'] } }, 

标记--ignore-certificate-errors已经添加到Chrome 35以来的“坏标志”列表中,因为它降低了浏览器的安全性。 国旗仍然工作不pipe。

如果您想禁用“不支持的标志”提示,请将--test-type添加到您正在使用的命令行标志中。 这不应该以任何其他明显的方式影响浏览器,但它用于内部testing,所以使用它需要您自担风险。

有关添加命令行标志的更多信息,请参阅Chromedriverfunction文档 。

 System.setProperty("webdriver.chrome.driver","<<your chrome path>>"); // To remove message "You are using an unsupported command-line flag: --ignore-certificate-errors. // Stability and security will suffer." // Add an argument 'test-type' DesiredCapabilities capabilities = DesiredCapabilities.chrome(); ChromeOptions options = new ChromeOptions(); options.addArguments("test-type"); capabilities.setCapability("chrome.binary","<<your chrome path>>"); capabilities.setCapability(ChromeOptions.CAPABILITY, options); driver = new ChromeDriver(capabilities); 

**这工作对我来说这里是代码**

我认为这是一个Chromedriver问题,我提出了一个问题反对Chromedriver https://code.google.com/p/chromedriver/issues/detail?id=799

同时,您可以尝试将Chrome降级到v34。

当我尝试在Angular教程的第3步中运行“npm run protractor”时,我也遇到了这个错误: https://docs.angularjs.org/tutorial/step_03

我在MacBook Pro上运行Chrome版本35.0.1916.153。

@谢菲尔德 – 谢谢,你的解决scheme为我工作。

(在教程第三步中也可能不是很明显,但是和以前的步骤一样,你仍然需要在你下载教程的目录下打开一个新的terminal窗口,然后发出“npm start”来启动你的web服务器。一个单独的terminal窗口你执行“npm运行量angular器”)。 随着量angular器configuration调整错误消失了。

适用于Ruby Bindings的本地webdriver和远程驱动程序scheme的代码。 这抑制了chrome35上的警告消息(请记住,您必须从http://chromedriver.storage.googleapis.com/index.html获取2.10 chromedriver.exe)

Localwebdriver:

 caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => ["test-type" ]}) @browser = Selenium::WebDriver.for :chrome,desired_capabilities: caps 

RemoteWebDriver(使用GRID):请注意,下面代码中的逗号分隔的ips是允许网格中心接收selenese命令的ips。 这个安全层已经从chrome35和chromedriver 2.10开始实现

 caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => ["test-type","whitelisted-ips=comma-separated-ips"]}) @browser = Selenium::WebDriver.for :remote, :url => GRID_HUB_URL,:desired_capabilities => caps 
 #!/usr/bin/env node var webdriver = require('selenium-webdriver'); var driver = new webdriver.Builder().withCapabilities({ browserName : 'chrome', 'chromeOptions': { args: ['test-type'] } }).build(); 

非代码解决scheme将是这样的:

  1. 去铬图标
  2. 右键单击并转到属性
  3. 在目标部分添加:– --test-type

Selenium使用C#.Net(Selenium + C#.Net)

 public static IWebDriver Instance = null; ChromeOptions opt = new ChromeOptions(); opt.AddArguments("--test-type");<br><br> Instance = new ChromeDriver(@"Path To directory containing chromedriver.exe" , opt ) ; 

它适用于谷歌浏览器版本47.0.2526.106米。

我正在使用Java,所以我不知道这是否适用于您,但可能有帮助。

在我的情况下,添加.addArguments("test-type"); 确实隐藏了这个警告。 但是,这使得执行速度非常缓慢。

所以我用下面的代替这条线,它工作正常!

 options.addArguments("excludeSwitches", "ignore-certificate-errors");