Как запустить тестовые случаи Selenium WebDriver в Chrome?
Я пробовал это
WebDriver driver = new ChromeDriver();
но я получаю ошибку как
неудачные тесты: setUp (com.Тест): путь к исполняемому файлу драйвера должен быть установлен 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 с помощью веб-драйвера Selenium:
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 ищет исполняемый файл драйвера 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.геккон.водитель"
аналогичный случай для других браузеров, ниже приведен снимок списка доступных реализаций браузера
загрузите 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");


Comments