Как запустить тестовые случаи Selenium WebDriver в Chrome?

Я пробовал это

WebDriver driver = new ChromeDriver();

но я получаю ошибку как

неудачные тесты: настройка (com.TEST): путь к исполняемому файлу драйвера должен быть установлен webdriver.хром.системное свойство драйвера; дополнительные сведения см. В разделеhttp://code.google.com/p/selenium/wiki/ChromeDriver. Последнюю версию можно скачать сhttp://code.google.com/p/chromedriver/downloads/list

Как я могу сделать Chrome проверить тестовые случаи Selenium-WebDriver?

10 ответов


вам нужно загрузить исполняемый драйвер из: ChromeDriver Скачать

тогда все, что вам нужно сделать, это использовать следующее Перед созданием объекта драйвера (уже показано в правильном порядке):

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

Это было извлечено из самого полезного руководства по адресу:https://sites.google.com/a/chromium.org/chromedriver/


скачать обновление версии драйвера chrome от здесь

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

    }

}

вы также можете увидеть ответ после нажатия здесь


вы должны загрузить chromeDriver в папку и добавить эту папку в переменную PATH. Вам придется перезагрузить консоль, чтобы заставить ее работать.


найти последнюю версию chromedriver здесь. После загрузки распакуйте его в корне вашей установки python, например C:/Program Files/Python-3.5, вот и все. Вам даже не нужно указывать путь в любом месте и/или добавить chromedriver в свой путь, или тому подобное. Я просто сделал это на чистой установке Python, и это работает.


Если вы используете homebrew на MacOS, вы можете использовать команду:

brew install chromedriver

после этого он должен работать нормально без какой-либо другой конфигурации.


вам необходимо установить драйвер chrome. Вы можете установить этот пакет с помощью nugget, как показано ниже


вы можете использовать приведенный ниже код для запуска тестовых случаев в Chrome с помощью Selenium web-driver:

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

загрузите последнюю версию драйвера chrome и используйте этот код:

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

все ответы выше правильны, ниже следует небольшое глубокое погружение в проблему и решение.

конструктор драйверов в selenium, например

WebDriver driver = new ChromeDriver();

поиск исполняемого файла драйвера, в этом случае chrome driver ищет исполняемый файл драйвера chrome, в случае, если служба не может найти исполняемый файл исключение бросается

здесь происходит исключение (обратите внимание на состояние проверки метод)

 /**
   *
   * @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();

ниже приведен фрагмент кода (для chrome и firefox), где служба драйверов ищет исполняемый файл драйвера:

Chrome:

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

FireFox:

@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.хром.водитель" и GECKO_DRIVER_EXE_PROPERTY = " webdriver.геккон.водитель"

аналогичный случай для других браузеров, ниже приведен снимок списка доступной реализации браузера

enter image description here


загрузите exe chromedriver и извлеките его из текущего местоположения проекта. Вот ссылка, по которой мы можем скачать последнюю версию chromedriver.

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