2012-06-25 15 views
5

मैं वर्तमान में टेस्टएनजी सूट के माध्यम से सेलेनियम ग्रिड 2 के साथ रिमोट वेब ड्राइवर के साथ अपने परीक्षण चला रहा हूं। यह फ़ायरफ़ॉक्स और आईई के साथ ठीक काम करता है। अब मैंने क्रोम जोड़ा है और परीक्षण ठीक चलते हैं, लेकिन एक सूट के सभी परीक्षणों के बाद driver.quit() को कॉल करते समय मुझे हमेशा अपवाद मिलता है (एफएफ और आईई के लिए ठीक काम करता है)।ग्रिड पर चलते समय क्रोमड्राइवर को कैसे बंद करें?

Error communicating with the remote browser. It may have died. 
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)  
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:188) 
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145) 
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:472) 
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:476) 
at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:346) 
at setups.StandardChromeSetup.tearDown(StandardChromeSetup.java:42) 
19 lines not shown 

Caused by Error communicating with the remote browser. It may have died. 
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:467) 
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:476) 
at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:346) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke(EventFiringWebDriver.java:101) 
at $Proxy1.quit(Unknown Source) 
at org.openqa.selenium.support.events.EventFiringWebDriver.quit(EventFiringWebDriver.java:194) 
at org.openqa.selenium.remote.server.handler.DeleteSession.call(DeleteSession.java:42) 
at org.openqa.selenium.remote.server.handler.DeleteSession.call(DeleteSession.java:1) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:150) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at java.lang.Thread.run(Thread.java:722) 

मैं सेलेनियम संस्करण 2.24.1 उपयोग कर रहा हूँ और टियरडाउन के लिए chromedriver.exe 21.0.1180.4

संपादित

कोड::

अपवाद इस तरह दिखता है

@AfterSuite 
public void tearDown(){ 
    driver.quit(); 
} 

एफ के लिए पूरी तरह से काम करता है रिमोटड्राइवर और बिना के साथ एफ और आईई। लेकिन क्रोम के लिए नहीं।

+0

आप setups.StandardChromeSetup.tearDown –

+0

में कोड पोस्ट कर सकते हैं टियरडाउन पर जानकारी जोड़ा यह कुछ भी नहीं फैंसी – Tarken

+0

समान सेटअप और एक ही समस्या यहाँ मैं भी जब मैं पुष्टि करते हैं कि chromedriver.exe अब और काम नहीं करता है एक ओएस संदेश मिलता है, है Google क्रोम मारे गए हैं। –

उत्तर

3

एक ही समस्या का सामना करना पड़ा। Here यह है कि मैंने इसे कैसे हल किया। यह क्रोम ड्राइवर के नए संस्करण के साथ एक बग प्रतीत होता है। ड्राइवर के पिछले संस्करण (20.0.1133.0) का उपयोग करके मेरे लिए यह समस्या हल हो गई।

driver download page देखें।

+0

मैं वर्तमान में छुट्टी पर हूं इसलिए मैं इसका परीक्षण नहीं कर सकता ;-) जब मैं काम पर वापस आ जाता हूं और यह काम करता है तो मैं आपका जवाब स्वीकार करूंगा। धन्यवाद – Tarken

2

मुझे लगता है कि आप Driver छोड़ने से पहले सक्रिय ब्राउज़र बंद नहीं कर रहे हैं। खिड़कियां है, जो कुछ अपवाद के कारण हो सकता है बंद करने के लिए, निम्न कोड के साथ प्रयास करें:

Driver.Close(); 
Driver.Quit(); 

यह आपकी समस्या का समाधान करना चाहिए।

+0

मुझे एक ही समस्या मिल रही है, लेकिन छोड़ने से पहले बंद() को कॉल करना() मदद नहीं करता है। – legion

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