2016-02-24 8 views
5

मैंने क्रोमड्राइवर सेवा को बंद करने का प्रयास करने के लिए थोड़ी देर के लिए प्रयास किया है और मैं इस बारे में समाधान विकसित नहीं कर सकता हूं कि कैसे करें। मैं मोचा और चाई का उपयोग कर एक यूनिट टेस्ट कर रहा हूं। पहला परीक्षण गुजरता है और दूसरा त्रुटि के कारण विफल रहता है।आप ChromeDriver सेवा को कैसे बंद कर देते हैं?

मैंने सेलेनियम-वेबड्राइव/chrome.js मॉड्यूल में देखने की कोशिश की और सेवा को बंद करने के लिए कोई फ़ंक्शन नहीं मिला। मैंने जवाब खोजने की कोशिश की लेकिन वेब पर कुछ भी नहीं मिला। शायद क्रोम ड्राइवर बनाने के लिए मेरा दृष्टिकोण फिर से काम करने की जरूरत है। मैंने 'सेलेनियम-वेबड्राइवर/chrome.js'.getgetefaultService() का उपयोग करते हुए सेवा के निर्माण और डिफ़ॉल्ट सेवा की सेटिंग को लपेटने की कोशिश की। IsRunning() लेकिन यह पहले परीक्षण में विफल रहता है। मैं इस पर फंस गया हूं और ज्ञान की कमी के कारण यह संभवतः है।

का कहा जाता है कि हर इकाई परीक्षण

var service = new chrome.ServiceBuilder(chromePath).build(); 
    chrome.setDefaultService(service); 

    driver = new webdriver.Builder() 
     .withCapabilities(webdriver.Capabilities.chrome()) 
     .build(); 

यह पहली इकाई परीक्षण जो त्रुटि के बिना गुजरता है के दौरान कहा जाता है यह ब्लॉक

it('Should pass if the Driver is set to equal the Chrome driver by using chrome', function() 
{ 
     var chromeDriver = Driver({ browserName: 'chrome' }); 
     expect(chromeDriver.getCapabilities().browserName).to.equal('Google Chrome'); 
}); 

यह दूसरी इकाई परीक्षण जो यह

विफल करने का कारण बनता है
it('Should pass if the Driver is set to equal the Chrome driver by using google chrome', function() 
{ 
     var chromeDriver = Driver({ browserName: 'google chrome' }); 
     expect(chromeDriver.getCapabilities().browserName).to.equal('Google Chrome'); 
}); 

त्रुटि संदेश:

अध्यक्ष एवं प्रबंध निदेशक से इस आदेश पर अमल करने
Error: The previously configured ChromeDriver service is still running. You must shut it down before you may adjust its configuration. 
    at Error (native) 
    at Object.setDefaultService (C:\Users\charles.sexton\WebstormProjects\node_modules\selenium-webdriver\chrome.js:346:11) 
    at module.exports (C:\Users\charles.sexton\WebstormProjects\JS-Selenium-Toolkit\src\OrasiDriver.js:90:16) 
    at Context.<anonymous> (C:\Users\charles.sexton\WebstormProjects\JS-Selenium-Toolkit\test\test.js:28:32) 
    at callFn (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runnable.js:315:21) 
    at Test.Runnable.run (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runnable.js:308:7) 
    at Runner.runTest (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:422:10) 
    at C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:533:12 
    at next (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:342:14) 
    at C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:352:7 
    at next (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:284:14) 
    at Immediate._onImmediate (C:\Users\charles.sexton\WebstormProjects\node_modules\mocha\lib\runner.js:320:5) 
+0

इस पोस्ट में मदद करने के लिए आप http सक्षम हो सकता है:

मैं पटकथा के लिए जावा का उपयोग करें, तो मुझे क्या करना है कि मैं अपने परीक्षण की शुरुआत में किसी भी सक्रिय कार्य की हत्या के लिए इस लाइन को जोड़ने है stackoverflow.com/questions/21320837/release-selenium-chromedriver-exe-from-memory – KCaradonna

+0

मैंने बस बैच फ़ाइल बनाने और आवश्यकता ('child_process') का उपयोग करने की कोशिश की। exec ('cmd/c Kill_ChromeDriver.bat'); विंडोज 7 पर node.js में। – Grim

+0

वही त्रुटि संदेश और कोई नया त्रुटि संदेश नहीं है, बैच फ़ाइल उसी निर्देशिका में है जैसे package.json – Grim

उत्तर

0

प्रयास करें:

taskkill /T /F /IM chromeserver.exe 

जब मैं सेलेनियम का उपयोग अपने स्वचालन आलेख निष्पादित करने, हर बार जब वहाँ इस ड्राइवर का एक नया उदाहरण (चल रहा है जो आप अगर आप को खोलने देख सकते हैं अपने कार्य प्रबंधक)। //:

Runtime.getRuntime().exec("taskkill /T /F /IM chromedriver.exe"); 
+0

मैं इसे प्रदान किए गए तर्क के साथ भी काम करने के लिए नहीं मिल सकता। मैंने कुछ परीक्षण किया और सेटटाइमआउट फ़ंक्शन के साथ मैं जांच करने और क्रोम ड्राइवर चल रहा है यह सुनिश्चित करने में सक्षम था। मैं किसी भी तरह से काम करने के लिए निष्पादन या स्पॉन नहीं मिला। मैंने कई बार child_processes दस्तावेज़ पढ़ा है। – Grim

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