5

मैं प्रोटैक्टर को प्राप्त करने और आधिकारिक Getting Started Guide के बाद चलने की कोशिश कर रहा हूं।प्रोटैक्टर को क्रोमेड्रिवर नहीं मिला: ड्राइवर निष्पादन योग्य नहीं है:

आदेश

webdriver-manager start 

सुचारू रूप से चलाने के लिए लगता है:

webdriver-manager start 
seleniumProcess.pid: 22169 
Apr 23, 2014 10:27:46 AM org.openqa.grid.selenium.GridLauncher main 
INFO: Launching a standalone server 
Setting system property webdriver.chrome.driver to /usr/local/lib/node_modules/protractor/selenium/chromedriver 
10:27:46.959 INFO - Java: Apple Inc. 20.65-b04-462 
10:27:46.960 INFO - OS: Mac OS X 10.8.5 x86_64 
10:27:46.968 INFO - v2.41.0, with Core v2.41.0. Built from revision 3192d8a 
10:27:47.021 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: MAC 
10:27:47.059 INFO - RemoteWebDriver instances should connect to: <link deleted> 
10:27:47.059 INFO - Version Jetty/5.1.x 
10:27:47.060 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver] 
10:27:47.060 INFO - Started HttpContext[/selenium-server,/selenium-server] 
10:27:47.061 INFO - Started HttpContext[/,/] 
10:27:47.092 INFO - Started [email protected] 
10:27:47.092 INFO - Started HttpContext[/wd,/wd] 
10:27:47.096 INFO - Started SocketListener on 0.0.0.0:4444 
10:27:47.096 INFO - Started [email protected] 

हालांकि, त्रुटियों के लिए सुझाव दिया जाता है के रूप में

protractor /usr/local/lib/node_modules/protractor/example/conf.js 

चल:

protractor /usr/local/lib/node_modules/protractor/example/conf.js 
Using the selenium server at <link deleted> 

/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1702 
    throw error; 
     ^
UnknownError: The driver executable does not exist: /usr/local/lib/node_modules/protractor/selenium/chromedriver 
at <anonymous> 

और पुराने खिड़की फेंकता अपवाद:

10:30:19.106 WARN - Exception thrown 
java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException: java.lang.reflect.InvocationTargetException 
Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:17:32' 
System info: host: 'Dmitris-MacBook-Pro.local', ip: '172.20.10.2', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.8.5', java.version: '1.6.0_65' 
Driver info: driver.version: unknown 
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) 
at java.util.concurrent.FutureTask.get(FutureTask.java:83) 
at org.openqa.selenium.remote.server.DefaultSession.execute(DefaultSession.java:177) 
at org.openqa.selenium.remote.server.DefaultSession.<init>(DefaultSession.java:113) 
at org.openqa.selenium.remote.server.DefaultSession.createSession(DefaultSession.java:90) 
at org.openqa.selenium.remote.server.DefaultDriverSessions.newSession(DefaultDriverSessions.java:96) 
at org.openqa.selenium.remote.server.handler.NewSession.handle(NewSession.java:63) 
10:30:19.110 WARN - Exception: The driver executable does not exist: /usr/local/lib/node_modules/protractor/selenium/chromedriver 

किसी भी विचार क्या गलत है?

+2

क्या आपने 'वेबड्राइवर-प्रबंधक अपडेट' किया था? –

+0

@TimCastelijns हां, टाइमआउट के कारण तोड़ना पड़ा, हालांकि, अब यह कहता है: 'सेलेनियम स्टैंडअलोन अद्यतित है। क्रोमरेड्रिवर अद्यतित है। –

+1

टेस्ट वातावरण स्थापित क्यों करना हमेशा ऐसा दर्द लगता है। :( –

उत्तर

11

उस पूर्ण-पूर्ण ज़िप फ़ाइल (chromedriver_x.xx.zip) को हटाएं, और आपको इसे फिर से अद्यतन निष्पादित करने की आवश्यकता है। फ़ोल्डर इस तरह दिखेगा:

chromedriver

chromedriver_2.10.zip

सेलेनियम-server-स्टैंडअलोन-2.43.1.jar

और सब कुछ अच्छी तरह से चला जाता है।

+0

मैंने ज़िप को मैन्युअल रूप से डाउनलोड करने और फ़ोल्डर में रखकर समाप्त कर दिया। किसी भी तरह से अद्यतन निकालने में विफल रहा था। – petsoukos

+0

मेरे लिए भी काम करता है - लेकिन यह क्यों काम करता है? –

+0

अधिक विशेष रूप से, जांचें कि node_modules/protractor में config.json के अंदर "क्रोमेड्रिवर" संस्करण का मान ज़िप फ़ाइल नाम से मेल खाता है, उदाहरण: "क्रोमेड्रिवर": "2.21" => chromedriver_2.21.zip। यही एकमात्र चीज है जो इसे मेरे लिए तय करती है। – Fanchi

0

प्रोटैक्टर-कॉन्फ़िगरेशन में आपको क्रोम ड्राइवर पथ निर्दिष्ट करने की आवश्यकता है। उदाहरण के लिए क्रोमड्राइवर: 'पथ',

+0

दुर्भाग्य से यह मदद नहीं करता है, 'conf.js' में यह सेटिंग अनदेखा प्रतीत होती है:' chromeDriver: '/ usr/local/bin/chromedriver' जब मैं 'protractor conf.js' चलाता हूं –

+0

यदि आप गंदे जोड़ते हैं -protractor-runner निर्भरता package.json फ़ाइल में। क्रोम ड्राइवर निम्न पथ 'node_modules/grunt-protractor-runner/node_modules/protractor/bin में डाउनलोड किया जाता है, जब आप वेबड्राइव-मैनेजर अद्यतन निष्पादित करते हैं। या अन्य बुद्धिमान आप अन्य निर्भरताओं को स्थापित कर सकते हैं क्रोमड्राइवर, सेलेनियम और उस अपरिवर्तनीय पथ को निर्दिष्ट करें। –

+0

इसे हल किया गया लेकिन कुछ असली हैकिंग के साथ: 'usr/local/lib/node_modules/protractor/सेलेनियम /' (संभवतः आवश्यक नहीं) के अंदर 'chromedriver_2.9.zip' नामित', पुनः- स्थापित 'npm इंस्टॉल सेलेनियम-वेबड्राइवर-जी', और' सुडो एनपीएम इंस्टॉल-जी प्रोटैक्टर ', फिर' सेलेनियम-सर्वर-स्टैंडअलोन-2.41.0.jar' दूषित हो गया, इसलिए मैंने मैन्युअल रूप से http: // सेलेनियम- release.storage.googleapis.com/index.html?path=2.41/, और प्रतिस्थापित, वें एन 'वेबड्राइवर-मैनेजर अपडेट' चला गया और इसके लिए इंतजार कर रहा था, जिसके बाद 'क्रोमेड्रिवर' अनजिप किया गया था, जिसके बाद सबकुछ अभी तक काम करता था। –

-1

मैं उसी ट्यूटोरियल का निर्माण/परीक्षण करते समय एक ही समस्या में भाग गया। प्रोजेक्ट सेलेनियम फ़ोल्डर में मैंने chromedriver_2.13.zip था, लेकिन कोई क्रोमेड्रिवर निष्पादन फ़ाइल नहीं थी। मैंने इसे सीधे खोलने की कोशिश की, लेकिन कोई खुशी नहीं।

इसलिए मैंने sudo npm install -g protractor का उपयोग करके विश्व स्तर पर प्रोटैक्टर स्थापित किया, जो यूएसआर/स्थानीय/lib/node_modules/protractor/सेलेनियम/(मैक पर) फ़ाइलों को स्थापित करता है। उस फ़ोल्डर में क्रोमरेड्राइवर निष्पादन योग्य मौजूद था, इसलिए मैं प्रोजेक्ट सेलेनियम फ़ोल्डर में कॉपी/पेस्ट किया गया था और अब प्रोजेक्टर प्रोजेक्ट फ़ोल्डर के अंदर npm run protractor कमांड का उपयोग करके अपेक्षित के रूप में चलता है।

-1

मुझे अपने मैक पर समस्या थी। मैंने इसे हल किया:

नवीनतम क्रोमरेडियवर मैन्युअल रूप से डाउनलोड करना। इसे वांछित स्थान पर कॉपी करना (प्रोटैक्टर/सेलेनियम /)। पुनः प्रयास करें -

1

मुझे अपने पर्यावरण (मैक ओएस एक्स 10.8.5) में एक ही समस्या थी।

एक घंटे से अधिक समय तक संघर्ष करने के बाद, मैंने अंततः प्रोटैक्टर के पुराने संस्करण (1.4.0) को स्थापित किया और यह बहुत अच्छा काम करता है।

npm install -g [email protected]

आप घुरघुराना कार्य घुरघुराना-चांदा-webdriver का प्रयोग करेंगे, तो आप संस्करण 0.1.9 जो मेरे env में ठीक से काम कर रहा है का उपयोग करना चाहिए। इसका 0.2.0 संस्करण मेरे लिए काम नहीं करता है। धन्यवाद।

2

मैक उपयोगकर्ताओं के लिए:

'कोणीय phonecat' फ़ोल्डर के तहत, npm install chromedriver चलाते हैं। यह क्रोम ड्राइवर को node_modules/chromedriver फ़ोल्डर में स्थापित करेगा। इस के बाद, आप test/protractor-conf.js को संशोधित करना चाहिए, नए chromedriver फ़ोल्डर में ओर इशारा करते हुए, इस पंक्ति जोड़कर:

chromeDriver:'../node_modules/chromedriver/bin/chromedriver',

अंत में, आप चलेंगे सफलतापूर्वक आदेश npm run protractor (मत भूलना कि npm start चलाने की जानी चाहिए प्रथम)।

+1

में ऐसी कोई फ़ाइल मेरे आईडीई में ठीक काम करती है, लेकिन जेनकिन्स अपने स्वयं के क्रोमरेड्रिवर (/var/lib/jenkins/tools/chromedriver/chromedriver.ext) में खोजने की कोशिश करता है। मुझे आश्चर्य है कि मैं इसे कैसे ओवरराइड कर सकता हूं ... –

0

मैकोज़क्स को एल कैपिटन को अपडेट करने के बाद, मुझे अपने प्रोटैक्टर परीक्षण चलाने में सक्षम नहीं होने के साथ एक समस्या का सामना करना पड़ा।

मैं सिस्टम पर क्रोमेड्रिवर को दोबारा स्थापित करके समस्या को हल करने में सक्षम था। अपने कंसोल से "sudo npm chromedriver" चलाने का प्रयास करें। इसने मेरे लिए समस्या हल की।

4

यह क्रोमरेड्रिवर के लिए नवीनतम अपडेट की वजह से हो रहा है। आप चांदा का उपयोग कर रहे हैं, तो एक आसान तरीका समस्या को ठीक करने सिर्फ इस

webdriver-प्रबंधक अद्यतन अब मेरे लिए

इसका काम कर ठीक से चलाने के लिए है।

संबंधित मुद्दे