ক্রোমে সেলেনিয়াম ওয়েবড্রাইভার পরীক্ষার কেসগুলি কীভাবে চালানো যায়?


160

আমি এই চেষ্টা করেছিলাম

WebDriver driver = new ChromeDriver();

তবে আমি ত্রুটি হিসাবে পাচ্ছি

ব্যর্থ পরীক্ষা: সেটআপ (com.TEST): চালককে এক্সিকিউটেবলের পথটি অবশ্যই ওয়েবড্রাইভার.ক্রোম.ড্রাইভার সিস্টেমের সম্পত্তি দ্বারা নির্ধারণ করা উচিত; আরও তথ্যের জন্য, কোড এখানে দেখুন । সর্বশেষতম সংস্করণটি লিংক থেকে ডাউনলোড করা যায়

সেলেনিয়াম-ওয়েবড্রাইভার পরীক্ষার কেসগুলি পরীক্ষা করতে আমি কীভাবে ক্রোম তৈরি করতে পারি?


আপনি যদি বলতে পারেন যে আপনি সেলেনিয়াম ক্রোম ড্রাইভার কোডডোড.কম / পি / ক্রোমড্রাইভার / ডাউনলোডস / লিস্ট থেকে ডাউনলোড করেছেন এবং আপনার সেলেনিয়াম-জাভা চালানোর আগে এটি "বহিরাগত জারগুলি যুক্ত করুন" এর অধীনে গ্রহের গ্রন্থাগারে যুক্ত করেছেন কিনা কোড।
হেমন্ত

উত্তর:


252

আপনাকে এ থেকে এক্সিকিউটেবল ড্রাইভার ডাউনলোড করতে হবে: ChromeDriver ডাউনলোড

তারপরে ড্রাইভার অবজেক্ট তৈরি করার আগে আপনাকে যা করতে হবে তা হ'ল (ইতিমধ্যে সঠিক ক্রমে দেখানো হয়েছে):

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

এটি ChromeDriver ডকুমেন্টেশন থেকে সবচেয়ে দরকারী গাইড থেকে বের করা হয়েছিল


@ অ্যাম্বায়ার: আরে আমিও একই সমস্যায় পড়ছি। আমি আপনাকে প্রস্তাবিত একই জিনিসটি করেছি তবে এই ত্রুটিটি পেয়েছি। "java.lang.IllegalStateException: ড্রাইভার এক্সিকিউটেবলের অস্তিত্ব নেই: D: len selenimPRJarg1 \ chromedriver.exe" আমি কি কিছু মিস করছি "?
কেটিওয়ারি

আপনাকে এখান থেকে ডেনস.সেলেনিয়ামএইচআর.অর্গ.ডাউনলোড থেকে সেলেনিয়াম স্ট্যান্ডেলোন সার্ভারটি ডাউনলোড করতে হবে এবং আপনার জাভা প্রকল্পের নির্ভরতা হিসাবে জার ফাইলটি যুক্ত করতে হবে।
ডিকিরিল

4
আপনি কোথায় এটি ব্যবহার / টাইপ করবেন? System.setProperty ("ওয়েবড্রাইভার.ক্রোম.ড্রাইভার", "/ পাথ / টু / ক্রোমড্রাইভার"); ওয়েবড্রাইভার ড্রাইভার = নতুন ক্রোমড্রাইভার ();
tjnn

1
আমি এই প্রশ্নের প্রতিটি উত্তর সন্ধান করেছি এবং কেবলমাত্র এটিই আমার পক্ষে কাজ করেছে। (y)
বাজছে

যদিও এটি প্রযুক্তিগতভাবে সঠিক, আপনি কোডটিতে পরিবেশগত পরিবর্তনশীলটিকে সত্যই সেট করা উচিত নয়, এটি আপনার কোডের কোনও পথকে কোডিংয়ের সমান। আপনি যে কোডটি চালাচ্ছেন সেই মেশিনে পরিবেশগত ভেরিয়েবলটি সেট করা উচিত, প্রতিটি মেশিন ক্রোম ড্রাইভারকে একটি অনন্য স্থানে এক্সিকিউটেবলের জন্য সঞ্চয় করতে দেয় তবে সমস্ত কিছু এখনও কাজ করে।
আর্দেসকো

21

থেকে Chrome চালকের ডাউনলোড আপডেট করা সংস্করণ ক্রোম ড্রাইভার দয়া করে রিলিজ নোট পড়া পাশাপাশি এখানে Chrome ব্রাউজার তারপর আপডেট করা হয়, তাহলে আপনি উপরের লিঙ্কটি থেকে ডাউনলোড নতুন chormedriver প্রয়োজন কারণ এটি নতুন ব্রাউজার সংস্করণের সাথে কম্প্যাক্ট-সক্ষম হবে।

 public class chrome 
 {

  public static void main(String[] args) {

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


    driver.get("http://www.google.com");

  }

 }

3
এখন এটি একটি জটিল সমাধান। আজকাল আপনি যদি এটি ব্যবহার করেন তবে আমি এটি পরিবর্তন করার পরামর্শ দেব।
অ্যাম্বিরে

1
ডাউনলোড লিঙ্কটি এখন পুরানো।
কোডিং হয়ে গেছে

এই কোডটি গুগল ক্রোম সংস্করণ 69.0.3497.100 (অফিসিয়াল বিল্ড) (-৪-বিট) এ কাজ করছে না। দয়া করে ব্রাউড নতুন কোড প্রস্তাব করুন। এখন অবধি এটি 65.0.0 সংস্করণের চেয়ে কম পুরানো সংস্করণে কাজ করছে
মিতেশ ঠাকরি

18

আপনার একটি ফোল্ডারে ক্রোমড্রাইভার ডাউনলোড করা উচিত এবং এই ফোল্ডারটি আপনার PATH ভেরিয়েবলটিতে যুক্ত করা উচিত। এটি আপনার কাজ করার জন্য আপনার কনসোলটি পুনরায় চালু করতে হবে।


8

আপনি যদি কোনও ম্যাকওএসে হোমব্রু ব্যবহার করছেন তবে আপনি কমান্ডটি ব্যবহার করতে পারেন:

(সম্পাদনা) :brew tap homebrew/cask && brew cask install chromedriver

এটির পরে অন্য কোনও কনফিগারেশন না করে ঠিকঠাক কাজ করা উচিত।


2
এখন দ্বারা এটা brew tap homebrew/cask && brew cask install chromedriver
luk2302

6

আপনাকে ক্রোম ড্রাইভার ইনস্টল করতে হবে। নীচে প্রদর্শিত হিসাবে আপনি এই প্যাকেজটি নুগেট ব্যবহার করে ইনস্টল করতে পারেন


1
এটি এক হতে পারে তবে নুগেটের সংস্করণটি খুব পুরানো: ২.১০.০১ অক্টোবর ১৩, ২০১৪
টিয়াগো

23 মার্চ আবার পুরানো। সর্বশেষতম ক্রোমে ব্যবহার করতে অক্ষম।
উইলিম

6

সেলেনিয়াম ওয়েব-ড্রাইভার ব্যবহার করে ক্রোমে পরীক্ষার মামলাগুলি চালানোর জন্য আপনি নীচের কোডটি ব্যবহার করতে পারেন:

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();
    }
}

5

এর সর্বশেষতম সংস্করণটি সন্ধান chromedriver করুন । একবার ডাউনলোড হয়ে গেলে এটি আপনার অজগর ইনস্টলেশনের মূলে আনজিপ করুন, যেমন C:/Program Files/Python-3.5, এবং এটিই। এমনকি আপনাকে যে কোনও জায়গায় পাথ নির্দিষ্ট করতে এবং / অথবা chromedriverআপনার পথে বা এর মতো যুক্ত করতে হবে না। আমি এটি একটি পরিষ্কার পাইথন ইনস্টলেশনতে করেছি এবং এটি কাজ করে।


4
খারাপ পরামর্শ ... আপনার পাইথন ইনস্টলেশনটিকে কলুষিত করবেন না
কোরি গোল্ডবার্গ

এছাড়াও, ওপি কখনও পাইথন
কোরি গোল্ডবার্গের

4

ক্রোম ড্রাইভারের সর্বশেষ সংস্করণটি ডাউনলোড করুন এবং এই কোডটি ব্যবহার করুন:

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

1

উবুন্টুতে, আপনি কেবল chromium-chromedriverপ্যাকেজটি ইনস্টল করতে পারেন :

apt install chromium-chromedriver

সচেতন থাকুন যে এটি একটি পুরানো সেলেনিয়াম সংস্করণও ইনস্টল করে। সর্বশেষতম সেলেনিয়াম ইনস্টল করতে:

pip install selenium

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

নীচে কোড স্নিপেট (ক্রোম এবং ফায়ারফক্সের জন্য) যেখানে চালক পরিষেবা চালক কার্যকর করার জন্য অনুসন্ধান করে:

ক্রোম:

   @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"

অন্যান্য ব্রাউজারগুলির ক্ষেত্রেও এটি একই রকম, উপলব্ধ ব্রাউজার বাস্তবায়নের তালিকার স্ন্যাপশট নীচে দেওয়া আছে

এখানে চিত্র বর্ণনা লিখুন


0
To run Selenium WebDriver test cases in Chrome, follow these steps:


first of all set the property & chrome driver path

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
then initialize the Chrome Driver's object

WebDriver driver = new ChromeDriver();
then pass the url into get method of WebDriver

driver.get("http://www.google.com");

0

আমি বাইনারি আমার প্রকল্পের রিসোর্স ডাইরেক্টোট্রির মতো অন্তর্ভুক্ত করেছিলাম:

src\main\resources\chrome\chromedriver_win32.zip
src\main\resources\chrome\chromedriver_mac64.zip
src\main\resources\chrome\chromedriver_linux64.zip

কোড:

import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.SystemUtils;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import java.io.*;
import java.nio.file.Files;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public WebDriver getWebDriver() throws IOException {
    File tempDir = Files.createTempDirectory("chromedriver").toFile();
    tempDir.deleteOnExit();
    File chromeDriverExecutable;

    final String zipResource;
    if (SystemUtils.IS_OS_WINDOWS) {
        zipResource = "chromedriver_win32.zip";
    } else if (SystemUtils.IS_OS_LINUX) {
        zipResource = "chromedriver_linux64.zip";
    } else if (SystemUtils.IS_OS_MAC) {
        zipResource = "chrome/chromedriver_mac64.zip";
    } else {
        throw new RuntimeException("Unsuppoerted OS");
    }

    try (InputStream is = getClass().getResourceAsStream("/chrome/" + zipResource)) {
        try (ZipInputStream zis = new ZipInputStream(is)) {
            ZipEntry entry;
            entry = zis.getNextEntry();
            chromeDriverExecutable = new File(tempDir, entry.getName());
            chromeDriverExecutable.deleteOnExit();
            try (OutputStream out = new FileOutputStream(chromeDriverExecutable)) {
                IOUtils.copy(zis, out);
            }
        }
    }

    System.setProperty("webdriver.chrome.driver", chromeDriverExecutable.getAbsolutePath());
    return new ChromeDriver();
}

-2

ক্রোমড্রাইভারের এক্সিটি ডাউনলোড করুন এবং বর্তমান প্রকল্পের স্থানে এটি বের করুন। এখানে লিঙ্কটি রয়েছে, যেখানে আমরা ক্রোমড্রাইভারের সর্বশেষ সংস্করণটি ডাউনলোড করতে পারি।

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

লঞ্চ ব্রাউজারের জন্য এখানে সাধারণ কোড এবং url এ নেভিগেট করুন।

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

WebDriver driver = new ChromeDriver();

driver.get("https://any_url.com");

ক্রোমড্রাইভার ডাউনলোড করুন এবং এটি নিষ্কাশন করুন। এরপরে আপনার প্রকল্পে একটি ফোল্ডার তৈরি করুন এবং এটি ক্রোমড্রাইভার হিসাবে নাম দিন এবং এতে .exe ফাইলটি রাখুন। এবং এই পথটি ব্যবহার করুন। এটি সহজ কোড উদাহরণ। 'কোড' System.setProperty ("webdriver.chrome.driver", System.getProperty ("user.dir") + "rome ক্রোমড্রাইভার \\ ক্রোমড্রাইভার.এক্সই"); ওয়েবড্রাইভার ড্রাইভার = নতুন ক্রোমড্রাইভার (); ড্রাইভার.get (" google.co.in" ); ওয়েবএলমেন্ট সার্চবক্স = ড্রাইভার.findElement (বাই.নেম ("কিউ")); সার্চবক্স.সেন্ডকিজে ("সেরা সেলেনিয়াম ভিডিও টিউটোরিয়াল বিনামূল্যে"); searchbox.submit ();
বিন

দয়া করে, অতিরিক্ত তথ্য বিনের মন্তব্য সহ উত্তরটি যথেষ্ট পরিমাণে আপডেট করে দিচ্ছেন।
রিকার্ডো সুজা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.