Не удается запустить тесты в Chrome


(Stalexmr) #1

Здравствуйте.

Возникли проблемы на пустяковом моменте.

Не получается запустить тесты в Chrome.

Делал по вот этой инструкции:
http://thucydides.info/docs/thucydides/_running_thucydides_in_different_browsers.html
заменив iexplorer на chrome.

Установлена последняя версия chromedriver и браузера Chrome.

Путь до исполняемого файла прописан в переменной среды Path.

При выполнении пишет ошибку:
net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate class org.openqa.selenium.chrome.ChromeDriver

В чем может быть проблема, есть ли какие-нибудь предположения?


(Руслан) #2

попробуй smile

мой .pom :

 <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <thucydides.version>0.9.229</thucydides.version>
    <webdriver.driver>firefox</webdriver.driver>
</properties>

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.39.0</version>
    </dependency>
    <dependency>
        <groupId>net.thucydides</groupId>
        <artifactId>thucydides-core</artifactId>
        <version>${thucydides.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.6.1</version>
    </dependency>
    <dependency>
        <groupId>net.thucydides</groupId>
        <artifactId>thucydides-junit</artifactId>
        <version>${thucydides.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.easytesting</groupId>
        <artifactId>fest-assert</artifactId>
        <version>1.4</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <version>2.5</version>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
            <version>2.16</version>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
        </plugin>
        <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.16</version>
            <configuration>
                <includes>
                    <include>**/*Test.java</include>
                    <include>**/Test*.java</include>
                    <include>**/When*.java</include>
                </includes>
                <argLine>-Xmx512m</argLine>
                <parallel>classes</parallel>
                <threadCount>1</threadCount>
                <systemPropertyVariables>
                    <webdriver.driver>${webdriver.driver}</webdriver.driver>
                </systemPropertyVariables>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>net.thucydides.maven.plugins</groupId>
            <artifactId>maven-thucydides-plugin</artifactId>
            <version>${thucydides.version}</version>
            <executions>
                <execution>
                    <id>thucydides-reports</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>aggregate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<profiles>
    <profile>
        <id>maven2</id>
        <activation>
            <file>
                <missing>${basedir}</missing>
            </file>
        </activation>
        <reporting>
            <plugins>
                <plugin>
                    <groupId>net.thucydides.maven.plugins</groupId>
                    <artifactId>maven-thucydides-plugin</artifactId>
                    <version>${thucydides.version}</version>
                </plugin>
            </plugins>
        </reporting>
    </profile>
    <profile>
        <id>maven3</id>
        <activation>
            <file>
                <exists>${basedir}</exists>
            </file>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.0-beta-3</version>
                    <configuration>
                        <reportPlugins>
                            <plugin>
                                <groupId>net.thucydides.maven.plugins</groupId>
                                <artifactId>maven-thucydides-plugin</artifactId>
                                <version>${thucydides.version}</version>
                            </plugin>
                        </reportPlugins>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>


метод c путём к хромдрайверу

@Before
    public void myTest()  throws Exception
    {
        System.setProperty("webdriver.chrome.driver", "/home/rb/Downloads/chromedriver");
        driver.manage().window().maximize();
        book.start_browser();
    }

и так:

@WithDriver("chrome")
@Test


(Stalexmr) #3

Спасибо, за оперативный ответ.

У меня только вопрос:
для запуска в конкретном браузер необходимо писать отдельный метод, и использовать аннотацию @Before ?
Исходя из выдержки мануала, что я указал, складывается впечатление, что без этого можно обойтись.

PS
уже доступна версия thucydides.version - 0.9.255


(Руслан) #4

лень обновлять))

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

@WithDriver("chrome")
@Test

я использую, чтобы из среды разработки сразу в хроме запускать - это потом убирается)

для запуска хватит

 -Dwebdriver.driver=chrome

(Stalexmr) #5

Так же не очень ясно, зачем где-то в тестах указывать путь до исполняемого файла, если до этого он был указан в переменной среды Path


(Руслан) #6

чуть поподробней, не понял вопрос)


(Stalexmr) #7

Нужно ли указывать где то отдельно путь до драйвера хрома, если он уже указан в переменной среды Path ?


(Руслан) #8

хм......тут точно ответить не могу, думаю врядли, я просто на Бубунте сижу)