2014-06-09 2 views
1

Может ли кто-нибудь помочь в ситуации ниже. У меня есть проект webdriver + maven, который отлично работает с драйвером FireFox, но для запуска его через Chrome или IEDriver, где мне нужно поставить exe Chrome и IE exe и как его вызывать.Как вызвать IEDriver или Chromedriver в webdriver + проект maven

  1. Где мне нужно поместить IEDriver и ChromeDriver EXE под SRC/основные/ресурсов или/SRC/тест/ресурсы

  2. как указать путь для этих драйвера в коде

  3. Do Мне нужно что-то добавить в pom.xml в настоящее время мой pom.xml выглядит, как показано ниже -

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>MavenWebDriverDemo</groupId> 
    <artifactId>MavenWebDriverDemo</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <dependencies> 
        <dependency> 
         <groupId>org.seleniumhq.selenium</groupId> 
         <artifactId>selenium-java</artifactId> 
         <version>2.33.0</version> 
        </dependency> 
        <dependency> 
         <groupId>org.seleniumhq.selenium</groupId> 
         <artifactId>selenium-server</artifactId> 
         <version>2.33.0</version> 
        </dependency> 
        <dependency> 
         <groupId>org.testng</groupId> 
         <artifactId>testng</artifactId> 
         <version>6.8.5</version> 
        </dependency> 
    </dependencies> 
    

+0

Пожалуйста, измените вопрос и добавить код, как вы в данный момент вызвать драйвер Firefox в вашем коде. – oberlies

ответ

2

Это Ваше предпочтение размещает драйверы под src/main/resources или /src/test/resources. Вы должны добавить следующий код: -

System.setProperty("webdriver.ie.driver","/src/test/resources/IEDriver.exe"); 
driver = new InternetExplorerDriver(); 

или

System.setProperty("webdriver.chrome.driver","/src/test/resources/chromedriver.exe"); 
driver = new ChromeDriver(); 

Там нет необходимости изменять файл POM.

+0

Я пробовал этот подход, но его поисковый драйвер на моем локальном диске и давал ниже исключения - java.lang.IllegalStateException: исполняемого файла драйвера не существует: D: \ src \ test \ resources \ chromedriver.exe вместо этого я бы хотел, если бы это поиск в родительском директоре моего проекта. –

+0

Извините, я не понял. Поскольку я использую maven, нет папки ресурсов, хотя в Eclipse появляется Maven Dependencies, и все это указано там. Поэтому мой код должен быть в состоянии получить от maven, где бы ни находились его зависимости, но так как в этом случае мне нужно вводить путь, я смущен, как должен быть правильный путь! –

+0

серверы для Chrome или IE и т. Д. Не включены в качестве зависимостей Maven. Причина в том, что серверы драйверов - это файлы exe. Когда эти файлы добавляются в jar-файлы (зависимость от Maven), их нужно извлекать каждый раз. Некоторые антивирусные и связанные программы могут помечать это извлечение как вредоносную активность. Поэтому вы должны загрузить их и указать путь в коде. – Sighil

0

Другим вариантом является включение местоположения драйвера (Chrome | IE) в переменную среды PATH.

https://code.google.com/p/selenium/wiki/InternetExplorerDriver#Installing

Э.Г. (Debian):

mv chromedriver /usr/local/bin 

или

echo "PATH=\$PATH:/path/to/chromedriver" > /etc/profile.d/chromedriver.sh 

Это более общий характер, чем System.setProperty: если вы, или будет, используя селен сетки, то System.setProperty было бы бесполезно (насколько я понимаю,).

Кроме того, некоторые говорят:

Store config in the environment

Смежные вопросы