web-dev-qa-db-ja.com

Chromeの分度器エラーメッセージ「サポートされていないコマンドラインフラグ」

私は分度器の新しいユーザーであり、Chrome(起動したブラウザーのアドレスバーの下にエラーが表示されます)を使用してテストを実行中にこのエラーが発生しました:

サポートされていないコマンドラインフラグ--ignore-certificate-errorsを使用しています。安定性とセキュリティが低下します。

ここに私の分度器のconf.jsがあります:

exports.config = {

seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
    'browserName': 'chrome'  
},

...

また、最新のChromedriverおよびSeleniumスタンドアロンサーバー(2.41.0)を搭載したMacを使用しています。現在、このフラグはどこにも設定しておらず、常に表示されていることを思い出せないため、この問題の原因はわかりません。

この問題を解決する方法についてのアイデアはありますか?

32
mikeybaby173

Protractorを使用する場合、これはおそらくあなたが探している構成です:

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

フラグ--ignore-certificate-errorsは、Chrome 35の時点で「悪いフラグ」リストに追加されました。これは、ブラウザのセキュリティを低下させるためです。

「サポートされていないフラグ」プロンプトを無効にする場合は、--test-typeを使用しているコマンドラインフラグに追加します。これは他の顕著な方法でブラウザに影響を与えるべきではありませんが、内部テストに使用されるため、自己責任で使用してください。

コマンドラインフラグの追加の詳細については、 Chromedriver機能のドキュメント をご覧ください。

28
Luke S.
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);

**これは私にとってもうまくいきましたコードはここにあります**

13
mishmaccas

これはChromedriverの問題だと思います。Chromedriverに対する問題を提起しました https://code.google.com/p/chromedriver/issues/detail?id=799

それまでの間、Chrome= v34にダウングレードしてください。

7
JimCresswell

このエラーは、Angularチュートリアルの https://docs.angularjs.org/tutorial/step_03のステップ3で「npm run分度器」を実行しようとしたときにも発生しました。

MacBook ProでChromeバージョン35.0.1916.153を実行しています。

@scheffield-ありがとう、あなたのソリューションは私のために働いた。

(そのチュートリアルのステップ3でも明らかではないかもしれませんが、前のステップと同様に、チュートリアルをダウンロードしたディレクトリで新しいターミナルウィンドウを開き、「npm start」を発行してWebサーバーを起動する必要があります。 「npm run分度器」を実行する別のターミナルウィンドウ)。分度器設定Tweakを使用すると、エラーはなくなりました。

2
David Barrows

私はJavaを使用しているので、これがうまくいくかどうかはわかりませんが、役に立つかもしれません。

私の場合、.addArguments("test-type");を追加すると、実際にその警告が非表示になりました。ただし、実行が驚くほど遅くなりました。

そのため、その行を次の行に置き換えましたが、うまくいきました!

options.addArguments("excludeSwitches", "ignore-certificate-errors");
0
ndarriulat
#!/usr/bin/env node
var webdriver = require('Selenium-webdriver');
var driver = new webdriver.Builder().withCapabilities({
    browserName : 'chrome',
    'chromeOptions': {
        args: ['test-type']
    }
}).build();
0
user4085438

C#.Netを使用したSelenium(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 ) ;

Googleで動作しますChromeバージョン47.0.2526.106 m。

0
Avinash Pande

Ruby BindingsのローカルWebドライバーとリモートドライバーの両方のシナリオで機能するコード。これにより、chrome35の警告メッセージが抑制されました(2.10 chromedriver.exeを http:/ /chromedriver.storage.googleapis.com/index.html

Localwebdriver:

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

@browser = Selenium::WebDriver.for :chrome,desired_capabilities: caps

RemoteWebDriver(GRIDを使用):以下のコードのコンマ区切りIPは、グリッドハブがseleneseコマンドを受信できるIPであることに注意してください。このセキュリティレイヤーは、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
0
machzqcq