121

मैंने कोशिश की इसक्रोम में सेलेनियम वेबड्राइवर परीक्षण मामलों को कैसे चलाएं?

WebDriver driver = new ChromeDriver(); 

लेकिन मैं

के रूप में त्रुटि मिल रही है

विफल परीक्षण: सेटअप (com.TEST): ड्राइवर निष्पादन के लिए पथ webdriver.chrome द्वारा निर्धारित किया जाना चाहिए .driver प्रणाली संपत्ति; अधिक जानकारी के लिए, http://code.google.com/p/selenium/wiki/ChromeDriver देखें। नवीनतम संस्करण http://code.google.com/p/chromedriver/downloads/list

सेलेनियम-वेबड्राइवर परीक्षण मामलों का परीक्षण करने के लिए क्रोम कैसे बना सकता है?

+0

यह उपयोगी होगा अगर आप बता सकते हैं कि आपने सेलेनियम क्रोम ड्राइवर को http://code.google.com/p/chromedriver/downloads/list से डाउनलोड किया है या इसे "बाहरी जार जोड़ें" के अंतर्गत ग्रहण में लाइब्रेरी में जोड़ा है। अपने सेलेनियम-जावा कोड चलाने से पहले। – Hemanth

उत्तर

204

आप से निष्पादन योग्य ड्राइवर डाउनलोड करने की आवश्यकता यह सबसे उपयोगी मार्गदर्शिका से निकाला गया था: https://sites.google.com/a/chromium.org/chromedriver/

+1

बहुत धन्यवाद! मेरे लिए ठीक काम किया! –

+0

@aimbire: अरे मुझे एक ही समस्या का सामना करना पड़ रहा है। मैंने आपके द्वारा सुझाई गई एक ही चीज़ की लेकिन यह त्रुटि प्राप्त की। "java.lang.IllegalStateException: चालक निष्पादन योग्य मौजूद नहीं है: डी: \ selenimPRJarg1 \ chromedriver.exe" क्या मुझे कुछ याद आ रहा है "? – kTiwari

+0

आपको http: //docs.seleniumhq से सेलेनियम स्टैंडअलोन सर्वर डाउनलोड करना होगा।संगठन/डाउनलोड /, और जार फ़ाइल को अपनी जावा प्रोजेक्ट पर निर्भरता के रूप में जोड़ें। – dikirill

15

आपको किसी फ़ोल्डर में क्रोमड्राइवर डाउनलोड करना चाहिए, और इस फ़ोल्डर को अपने पैथ चर में जोड़ना चाहिए। इसे काम करने के लिए आपको अपने कंसोल को पुनरारंभ करना होगा।

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); 
WebDriver driver = new ChromeDriver(); 

: तो फिर तुम सब करने की जरूरत है ड्राइवर वस्तु (पहले से ही सही क्रम में दिखाया गया है) बनाने से पहले निम्न का उपयोग कर रहा है ChromeDriver Download

:

19

here

से क्रोम ड्राइवर का अद्यतन संस्करण डाउनलोड करें
public class Chrome { 

    public static void main(String[] args) { 

     System.setProperty("webdriver.chrome.driver", "E://chromedriver.exe"); 
     WebDriver driver = new ChromeDriver();    
     driver.get("http://www.google.com"); 

    } 

} 

तुम भी here

+3

अब यह एक बोझिल समाधान है। अगर आप आजकल इसका उपयोग करते हैं तो मैं आपको यह बदलने की सलाह दूंगा। – aimbire

+1

डाउनलोड लिंक अब पुराना है। –

-2

आप Chrome ड्राइवर की exe फ़ाइल डाउनलोड करने की आवश्यकता क्लिक करने के बाद जवाब देख सकते हैं। आप इस लिंक से डाउनलोड कर सकते हैं।

https://sites.google.com/a/chromium.org/chromedriver/

System.setProperty("webdriver.chrome.driver", "path of chromedriver.exe"); 

ChromeDriver driver = new ChromeDriver();  
+0

क्रोमरेड्राइवर डाउनलोड करें और इसे निकालें। इसके बाद अपनी प्रोजेक्ट में एक फ़ोल्डर बनाएं और इसे क्रोमरेड्रिवर के रूप में नाम दें और इसमें .exe फ़ाइल रखें। और इस पथ का उपयोग करें। यह सरल कोड उदाहरण है। 'कोड' System.setProperty ("webdriver.chrome.driver", System.getProperty ("user.dir") + "\\ chromedriver \\ chromedriver.exe"); \t \t वेबड्राइवर ड्राइवर = नया क्रोमडाइवर(); \t \t driver.get ("http://www.google.co.in"); \t \t वेबलेमेंट सर्चबॉक्स = driver.findElement (by.name ("q")); \t \t searchbox.sendKeys ("सर्वश्रेष्ठ सेलेनियम वीडियो ट्यूटोरियल मुक्त"); \t \t searchbox.submit(); – vinay

+0

कृपया, अतिरिक्त जानकारी के साथ इस उत्तर को अद्यतन करने के लिए सहमति दें। – rcdmk

4

आप क्रोम ड्राइवर स्थापित करने की आवश्यकता। नीचे के रूप में

+1

यह एक हो सकता है लेकिन NuGet पर संस्करण बहुत पुराना है: 2.10.0 दिनांक 13 अक्टूबर 2014 –

+0

23 मार्च को फिर से पुराना। नवीनतम क्रोम पर उपयोग करने में असमर्थ। – willem

6

दिखाया chromedriverhere के नवीनतम संस्करण का पता लगाएं आप इस पैकेज का डला का उपयोग कर स्थापित कर सकते हैं। एक बार डाउनलोड हो जाने पर, इसे अपने पायथन इंस्टॉलेशन की रूट पर अनजिप करें, उदाहरण के लिए C:/Program Files/Python-3.5, और यही वह है। आपको अपने पथ या इसी तरह के पथ को कहीं भी निर्दिष्ट करने की आवश्यकता नहीं है और/या chromedriver जोड़ें। मैंने अभी इसे एक साफ पायथन स्थापना पर किया है और यह काम करता है।

+2

खराब सलाह ... अपने पायथन इंस्टॉलेशन को प्रदूषित न करें –

+0

भी, ओपी ने कभी भी पायथन निर्दिष्ट नहीं किया –

4

आप सेलेनियम वेब ड्राइवर का उपयोग कर क्रोम में परीक्षण मामलों को चलाने के लिए नीचे दिए गए कोड का उपयोग कर सकते हैं:

import java.io.IOException; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 

public class ChromeTest { 

    /** 
    * @param args 
    * @throws InterruptedException 
    * @throws IOException 
    */ 
    public static void main(String[] args) throws InterruptedException, IOException { 
     // Telling the system where to find the Chrome driver 
     System.setProperty(
       "webdriver.chrome.driver", 
       "E:/chromedriver_win32/chromedriver.exe"); 

     WebDriver webDriver = new ChromeDriver(); 

     // Open google.com 
     webDriver.navigate().to("http://www.google.com"); 

     String html = webDriver.getPageSource(); 

     // Printing result here. 
     System.out.println(html); 

     webDriver.close(); 
     webDriver.quit(); 
    } 
} 
3

डाउनलोड क्रोम ड्राइवर का नवीनतम संस्करण है और इस कोड का उपयोग करें:

System.setProperty("webdriver.chrome.driver", " path of chromedriver.exe"); 
WebDriver driver= new ChromeDriver(); 
driver.manage().window().maximize(); 
Thread.sleep(10000); 
driver.get("http://stackoverflow.com"); 
5

आप अगर ' मैकोज़ पर होमब्री का उपयोग कर, आप कमांड का उपयोग कर सकते हैं:

brew install chromedriver 

इसके बाद ठीक काम करना चाहिए अन्य विन्यास।

0

ऊपर दिए गए सभी उत्तर सही हैं, समस्या और समाधान में थोड़ा गहरा गोताखोरी है।

उदाहरण के लिए

WebDriver driver = new ChromeDriver(); 

ड्राइवर निष्पादन के लिए खोज करता है, इस मामले क्रोम ड्राइवर निष्पादन के लिए क्रोम ड्राइवर खोजों में सेलेनियम में ड्राइवर निर्माता, मामले में सेवा निष्पादन योग्य अपवाद

फेंक दिया जाता है खोजने में असमर्थ है

इस चेक स्टेशन है, जहां अपवाद (जांच राज्य विधि पर ध्यान दें) से

/** 
    * 
    * @param exeName Name of the executable file to look for in PATH 
    * @param exeProperty Name of a system property that specifies the path to the executable file 
    * @param exeDocs The link to the driver documentation page 
    * @param exeDownload The link to the driver download page 
    * 
    * @return The driver executable as a {@link File} object 
    * @throws IllegalStateException If the executable not found or cannot be executed 
    */ 
    protected static File findExecutable(
     String exeName, 
     String exeProperty, 
     String exeDocs, 
     String exeDownload) { 
    String defaultPath = new ExecutableFinder().find(exeName); 
    String exePath = System.getProperty(exeProperty, defaultPath); 
    checkState(exePath != null, 
     "The path to the driver executable must be set by the %s system property;" 
      + " for more information, see %s. " 
      + "The latest version can be downloaded from %s", 
      exeProperty, exeDocs, exeDownload); 

    File exe = new File(exePath); 
    checkExecutable(exe); 
    return exe; 
    } 

आता है के बाद है ते विधि है जो अपवाद

/** 
    * Ensures the truth of an expression involving the state of the calling instance, but not 
    * involving any parameters to the calling method. 
    * 
    * <p>See {@link #checkState(boolean, String, Object...)} for details. 
    */ 
    public static void checkState(
     boolean b, 
     @Nullable String errorMessageTemplate, 
     @Nullable Object p1, 
     @Nullable Object p2, 
     @Nullable Object p3) { 
    if (!b) { 
     throw new IllegalStateException(format(errorMessageTemplate, p1, p2, p3)); 
    } 
    } 

समाधान फेंकता है: के रूप में

System.setProperty("webdriver.gecko.driver", "path/to/chromedriver.exe"); 
WebDriver driver = new ChromeDriver(); 

इस प्रकार चालक वस्तु बनाने पालन करने से पहले सिस्टम गुण सेट कोड स्निपेट जहां चालक सेवा खोज (क्रोम और फ़ायरफ़ॉक्स के लिए) है

क्रोम:

ड्राइवर निष्पादन के लिए 210
@Override 
    protected File findDefaultExecutable() { 
     return findExecutable("chromedriver", CHROME_DRIVER_EXE_PROPERTY, 
      "https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver", 
      "http://chromedriver.storage.googleapis.com/index.html"); 
    } 

फ़ायर्फ़ॉक्स:

@Override 
protected File findDefaultExecutable() { 
     return findExecutable(
     "geckodriver", GECKO_DRIVER_EXE_PROPERTY, 
     "https://github.com/mozilla/geckodriver", 
     "https://github.com/mozilla/geckodriver/releases"); 
    } 

जहां CHROME_DRIVER_EXE_PROPERTY = "webdriver.chrome.driver" और GECKO_DRIVER_EXE_PROPERTY = "webdriver.gecko.driver"

समान अन्य ब्राउज़र के लिए मामला है, निम्नलिखित उपलब्ध ब्राउज़र कार्यान्वयन की सूची का स्नैपशॉट

enter image description here