Skip to content

Instantly share code, notes, and snippets.

@oshatrk
Last active November 2, 2016 20:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oshatrk/0d454018e720b44b45d3e9679da6a98a to your computer and use it in GitHub Desktop.
Save oshatrk/0d454018e720b44b45d3e9679da6a98a to your computer and use it in GitHub Desktop.
Как собрать ChromeDriver из исходников под Windows 10 Home 64-bit.

Как собрать ChromeDriver из исходников под Windows 10 Home 64-bit.

Исходный код ChromeDriver является частью проекта Chromium, поэтому приходится загружать весь код Chromium.

Итак:

1. Посмотреть текущую документацию по сборке Chromium и проверить, что предложенная инструкция не устарела.

2. Установить MS Visual Studio 2015 (Community Edition) и обновить до SP 3.

3. Выбрать диск и создать каталог для проекта (после сборки ChromeDriver папка занимала 21 Gb):

d:\> mkdir chromium

4. Скачать depot_tools.zip (проверьте ссылку с указанной в документации) и разархивировать в подпапку:

d:\> cd chromium
d:\chromium> mkdir depot_tools
d:\chromium> cd depot_tools
d:\chromium\depot_tools> wget https://storage.googleapis.com/chrome-infra/depot_tools.zip
d:\chromium\depot_tools> unzip depot_tools.zip

5. Подняться на уровень выше, установить переменные среды:

d:\chromium\depot_tools> cd ..
d:\chromium> set PATH=D:\chromium\depot_tools;%PATH%
d:\chromium> set DEPOT_TOOLS_WIN_TOOLCHAIN=0

6. Загрузить исходный код Chromium, сгенерировать файлы для ninja:

d:\chromium> fetch chromium
d:\chromium> mkdir src
d:\chromium> cd src
d:\chromium\src> gclient sync
d:\chromium\src> gn gen out/Default

7. Скомпилировать ChromeDriver:

d:\chromium\src> ninja -C out/Default chromedriver

8. Если все успешно, то скомпилированный ChromeDriver будет находиться в файле:

D:\chromium\src\out\Default\chromedriver.exe

Для удобства повторной компиляции можно создать файл, который будет открывать окно командной строки с настроенными переменными среды:

d:\chromium\cmd4build.bat :

set PATH=D:\chromium\depot_tools;%PATH%
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
start cmd.exe
exit

Использование c Selenium 3.0 (http://seleniumhq.org):

package automationFramework;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class TrySelenium3 {

	public static void main(String[] args) throws InterruptedException {

		System.setProperty("webdriver.chrome.driver", "D:/chromium/src/out/Default/chromedriver.exe");
		ChromeDriver d = new ChromeDriver();
		
		d.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
		
		try {
			d.get("http://google.com");
			
			WebElement input = d.findElementByCssSelector("input[type=text]");
			input.sendKeys("How Selenide creates WebDriver");
			input.sendKeys(Keys.ENTER);
			
			Thread.sleep(10000);
		}
		finally {
			d.quit();
		}
	}
}

Использование с Selenide 4.0 (http://selenide.org):

package automationFramework;

import com.codeborne.selenide.*;
import static com.codeborne.selenide.Selenide.*;
import static com.codeborne.selenide.Condition.*;
import static com.codeborne.selenide.CollectionCondition.*;

public class TrySelenide4 {

	public static void main(String[] args) {

		System.setProperty("webdriver.chrome.driver", "D:/chromium/src/out/Default/chromedriver.exe");
		Configuration.browser = "chrome";
		Configuration.holdBrowserOpen = true;
		
		open("http://google.com");
		$("input[type=text]").append("How Selenide creates WebDriver").pressEnter();

	}

}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment