2014-05-21 8 views
31

मैं कोणमापक लिए एक नया उपयोगकर्ता हूँ, और मैं (शुरू की ब्राउज़र में पता बार के नीचे त्रुटि प्रदर्शित करता है) क्रोम का उपयोग मेरी परीक्षण चलाने के इस त्रुटि का सामना करना पड़ा:प्रोटैक्टर त्रुटि संदेश "असमर्थित कमांड लाइन ध्वज"?

You are using an unsupported command-line flag --ignore-certificate-errors. Stability and security will suffer.

यहाँ के लिए मेरे conf.js है चांदा:

exports.config = { 

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

... 

इसके अलावा, मैं नवीनतम उपलब्ध Chromedriver और सेलेनियम स्टैंडअलोन सर्वर (2.41.0) के साथ एक मैक का उपयोग कर रहा हूँ। अब, मैंने इस ध्वज को कहीं भी सेट नहीं किया है, और मुझे यह हमेशा याद नहीं है, इसलिए मुझे यकीन नहीं है कि इस समस्या का कारण क्या है।

इस मुद्दे को हल करने के तरीके पर कोई विचार?

+2

मैंने आज भी इसे प्राप्त करना शुरू कर दिया। मैं सोच रहा हूं कि क्रोम पृष्ठभूमि में अपडेट किया गया था और अब इस संदर्भ में सही तरीके से काम नहीं करता है। मैंने 'ब्राउज़र नाम' अपडेट किया: 'क्रोम' से 'ब्राउज़र नाम': 'फ़ायरफ़ॉक्स'। मैंने देखा कि असफल परीक्षण फ़ायरफ़ॉक्स के साथ बेहतर जानकारी डंप करते हैं, इसलिए मैं फ़ायरफ़ॉक्स का उपयोग जारी रखने जा रहा हूं। – Charlie

+1

एक ही समस्या होने पर, यह ध्वज कहाँ सेट किया जा रहा है? क्या कोई जानता है? – Fred

+0

मैंने अभी इसे आज (2017-04-03) प्राप्त करना शुरू किया, भले ही मेरे कैपिबरा सूट ने पिछले हफ्ते काम किया। Grrrr –

उत्तर

31

आप कोणमापक उपयोग करते हैं, यह शायद विन्यास के लिए आप देख रहे हैं:

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

मेरा मानना ​​है कि क्रोमऑप्शन में तत्वों को अग्रणी '- की आवश्यकता नहीं है यहां दस्तावेज़ों में उदाहरण देखें: https://github.com/angular/protractor/blob/master/docs/browser-setup.md#adding क्रोम-विशिष्ट-विकल्प –

+0

बहुत अच्छा काम करता है! स्वीकृत उत्तर होना चाहिए। –

6

मुझे लगता है कि यह एक Chromedriver मुद्दा है, मैं Chromedriver https://code.google.com/p/chromedriver/issues/detail?id=799

के खिलाफ एक मुद्दा इस बीच आप V34 के लिए क्रोम पदावनति की कोशिश कर सकते उठाया है।

26

ध्वज --ignore-certificate-errors क्रोम 35 के रूप में "खराब झंडे" सूची में जोड़ा गया है, क्योंकि यह ब्राउज़र की सुरक्षा को कम करता है। ध्वज अभी भी काम करता है।

यदि आप "असमर्थित ध्वज" प्रॉम्प्ट को अक्षम करना चाहते हैं, तो आप जिस कमांड लाइन फ्लैग का उपयोग कर रहे हैं, उसे --test-type जोड़ें। यह ब्राउज़र को किसी अन्य ध्यान देने योग्य तरीके से प्रभावित नहीं करेगा, लेकिन इसका उपयोग आंतरिक परीक्षण के लिए किया जाता है, इसलिए इसे अपने जोखिम पर उपयोग करें।

कमांड लाइन झंडे जोड़ने के बारे में अधिक जानकारी के लिए, Chromedriver capability docs देखें।

+2

क्या आप इस पर विस्तार से बता सकते हैं? इस मुद्दे के कारण मेरे परीक्षण अब काम नहीं कर रहे हैं। मैंने बिना किसी किस्मत के निम्न आदेश का उपयोग करके कमांड लाइन से प्रोटैक्टर शुरू करने का प्रयास किया है:> नोड node_modules \ grunt-protractor-runner \ node_modules \ protractor \ bin \ webdriver-manager start --test-type – user3284007

+2

--टेस्ट-टाइप वास्तव में मेरे लिए कम से कम संदेश को दबा नहीं देता है। – user1205577

+0

जहां कोई "खराब झंडे सूची" ढूंढ सकता है? –

13
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); 

** यह भी यहाँ मेरे लिए काम किया कोड है **

+0

मेरी प्रणाली DesiredCapabilities और न ही ChromeOptions को पहचान नहीं था। त्रुटि: किसी प्रकार के लिए हल नहीं किया जा सकता है। –

+0

इसके अलावा कन्स्ट्रक्टर क्रोमड्राइवर (क्षमताओं) को बहिष्कृत किया गया है। –

0

कोड जो रुबी बाइंडिंग्स के लिए स्थानीय वेबड्राइवर और रिमोट ड्राइवर परिदृश्य दोनों के लिए काम करता था। यह 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 (ग्रिड का उपयोग कर): ध्यान दें कि अल्पविराम से अलग नीचे दिए गए कोड में -प्स ऐसे 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 
2

यह त्रुटि मेरे लिए हुआ जब मैं "NPM रन चांदा" कोणीय ट्यूटोरियल के चरण 3 पर https://docs.angularjs.org/tutorial/step_03

मैं पर भागने की कोशिश की मैकबुक प्रो पर क्रोम संस्करण 35.0.1916.153 चला रहा हूँ।

@ शेफील्ड - धन्यवाद, आपका समाधान मेरे लिए काम करता है।

(यह भी ट्यूटोरियल चरण 3 पर स्पष्ट नहीं हो सकता है, लेकिन पिछले चरणों में, आपको अभी भी निर्देशिका में एक नई टर्मिनल विंडो खोलकर अपना वेब सर्वर शुरू करना होगा जहां आपने ट्यूटोरियल डाउनलोड किया था और "एनपीएम शुरू करना जारी किया था "फिर एक अलग टर्मिनल विंडो में आप" एनपीएम रन प्रोटैक्टर "निष्पादित करते हैं)। Protractor config tweak के साथ त्रुटि चली गई।

+0

धन्यवाद @ डेविड बैरो, मैं बिल्कुल सही स्थिति में हूं क्योंकि आपने और आपके उत्तर ने मुझे समस्या का समाधान करने में मदद की है। – Tony

+0

मैंने वेब सर्वर चलाने के बिना प्रोटैक्टर चलाने की कोशिश की, और मुझे उपरोक्त त्रुटि मिली। मुझे यह महसूस करने में कुछ मिनट लगे कि प्रोटैक्टर को यह आवश्यक है कि सर्वर चल रहा है, और कर्म परीक्षण के दौरान नहीं करता है। –

0
#!/usr/bin/env node 
var webdriver = require('selenium-webdriver'); 
var driver = new webdriver.Builder().withCapabilities({ 
    browserName : 'chrome', 
    'chromeOptions': { 
     args: ['test-type'] 
    } 
}).build(); 
0

सेलेनियम सी # नेट (सेलेनियम + सी # नेट)

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 मीटर के लिए काम करता है का उपयोग कर।

-1

गैर कोड समाधान यह होगा:

  1. जाओ क्रोम आइकन
  2. राइट क्लिक करें और गुण
  3. लक्ष्य अनुभाग जोड़ें पर जाएँ: --test-type
+0

कोई प्रभाव नहीं पड़ा। त्रुटि अभी भी बनी हुई है। –

0

मैं कर रहा हूँ जावा का उपयोग करके, इसलिए मुझे नहीं पता कि यह आपके लिए काम करेगा या नहीं, लेकिन इससे मदद मिल सकती है।

मेरे मामले में, .addArguments("test-type"); जोड़कर वास्तव में उस चेतावनी को छुपाया गया था। हालांकि, यह निष्पादन आश्चर्यजनक धीमा कर दिया।

तो मैंने उस पंक्ति को निम्नलिखित के साथ बदल दिया, और यह ठीक काम किया!

options.addArguments("excludeSwitches", "ignore-certificate-errors"); 
संबंधित मुद्दे