Тест падает с ошибкой запуска TimeoutException в фаерфокс 33.0


#1

Столкнулся с почти похожей проблемой, не запускается тест, не понимаю что за driver.version ему нужно ? Версия фаерфокс 33.0

org.openqa.selenium.TimeoutException: Timed out after 0 seconds waiting for net.thucydides.core.pages.WebElementFacadeImpl$4@2c5529ab
Build info: version: '2.43.1', revision: '5163bce', time: '2014-09-10 16:27:33'
System info: host: 'nb48', ip: '10.200.6.98', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_25'
Driver info: driver.version: unknown

В мавене прописано следующее:

<dependency>
        	<groupId>org.seleniumhq.selenium</groupId>
        	<artifactId>selenium-firefox-driver</artifactId>
        	<version>2.43.1</version>
        </dependency>
        <dependency>
        	<groupId>org.seleniumhq.selenium</groupId>
        	<artifactId>selenium-server</artifactId>
        	<version>2.43.1</version>
        </dependency>
        <dependency>
        	<groupId>org.seleniumhq.selenium</groupId>
        	<artifactId>selenium-java</artifactId>
        	<version>2.43.1</version>
        </dependency>

Ошибка при запуске тестов в Firefox
(heartwilltell) #2
        <dependency>
        	<groupId>org.seleniumhq.selenium</groupId>
        	<artifactId>selenium-server</artifactId>
        	<version>2.43.1</version>
        </dependency>

Эта зависимость уже и так включает в себя selenium-firefox-driver и selenium-firefox-driver

В IntellijIDEA есть такая вкладка замечательная - которая показывает зависимости, а так же их можно отображать в виде дерева. Помогает решать конфликты зависимостей


#3

удалил лишние зависимости, ошибка осталась. Погуглил - советуют прописать System.setProperty("webdriver.firefox.driver","PATH TO FIREFOX EXE"), прописал путь
Теперь ошибка Failed to connect to binary FirefoxBinary(C:\Program Files (x86)\Mozilla Firefox\firefox.exe) on port 7060;
вот код

import net.thucydides.core.pages.PageObject;
import net.thucydides.core.pages.Pages;
import net.thucydides.junit.runners.ThucydidesRunner;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

        @RunWith(ThucydidesRunner.class)
        public class test extends PageObject {

    	@Managed(uniqueSession = true)
    	public WebDriver driver;

    	@ManagedPages(defaultUrl = "test.com")
    	public Pages pages;
        @Before
        public void setUp() throws Exception {
		System.setProperty("webdriver.firefox.driver", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
		driver = new FirefoxDriver();
	}
    	@Steps
    	public TestMainPage testMainPage;

    	@WithDriver("firefox")
    	@Test

    	public void testSite() throws InterruptedException {
    		testMainPage.startBrowser();
    		testMainPage.openPopup();
    	}
    }

(Александр Таранков) #4

Для начала скажи какую проблему ты хочешь решить. Что именно тебе не нравится в сообщении об ошибке?


(Руслан) #5

какой версии файрфокс? у меня выше 31.0 , к примеру, вообще не стартуют


#6

Мне нужно запустить вышеуказанный тест. Ошибка не позволяет пройти тест

был 33.0 - тоже не стартовали тесты, поставил 31.0


(Руслан) #7

локальный запуск?


(Александр Таранков) #8

Спасибо, Капитан-Очевидность. Ткни пальцем в ошибку. Что именно ты пытаешься решить?


#9

Выскакивает ошибка Failed to connect to binary FirefoxBinary(C:\Program Files (x86)\Mozilla Firefox\firefox.exe) on port 7060; - не знаю что делать


(Александр Таранков) #10

неправильный System.property. С тем содержанием, которое указано, должен быть webdriver.firefox.bin


#11

заменил System.setProperty("webdriver.firefox.driver", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")

на System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")
теперь ошибка

org.openqa.selenium.TimeoutException: Timed out after 0 seconds waiting for net.thucydides.core.pages.WebElementFacadeImpl$4@ec2cc4
Build info: version: '2.43.1', revision: '5163bceef1bc36d43f3dc0b83c88998168a363a0', time: '2014-09-10 09:43:55'
System info: host: 'nb48', ip: '10.200.6.98', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_25'
Driver info: driver.version: unknown
Build info: version: '2.43.1', revision: '5163bceef1bc36d43f3dc0b83c88998168a363a0', time: '2014-09-10 09:43:55'
System info: host: 'nb48', ip: '10.200.6.98', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_25'
Driver info: driver.version: unknown

#12

Если в @Before указываю оба проперти

@Before
public void setUp() {
System.setProperty("webdriver.firefox.driver","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
}

, получаю net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate class org.openqa.selenium.firefox.FirefoxDriver


(Александр Таранков) #13

Может доку почитаешь? По Thucydides. И по WebDriver
Методом "тыка" может получиться довольно медленно


#14

Проблема решилась заменой POMa в мавен. Всем огромное спасибо!


UTF-8
0.9.229
firefox

<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>


(barancev) #15

Если я правильно понял, проблема решена путём отката на более старую версию Selenium. Означает ли это, что Thucydides на данный момент не совместим с последними версиями Selenium?

И, кстати, версия Selenium 2.39 не должна была заработать с Firefox 33, ещё и браузер пришлось откатывать?


(Руслан) #16

я так понял проблема была в том, что

    <dependency>
    	<groupId>org.seleniumhq.selenium</groupId>
    	<artifactId>selenium-server</artifactId>
    	<version>2.43.1</version>
    </dependency>
    <dependency>
    	<groupId>org.seleniumhq.selenium</groupId>
    	<artifactId>selenium-java</artifactId>
    	<version>2.43.1</version>
    </dependency>

оба содержат файрфокс драйвер и был конфликт


(barancev) #17

Если указана одна и та же версия -- никакого конфликта не возникает.

Посмотрите внимательно на комментарий, где автор написал, что проблема решена -- там указана версия 2.39. Именно это, якобы, и привело к исчезновению ошибки.


(Руслан) #18

это мой .pom smile

да, 2.42.2 - не работает, только что смотрел


(heartwilltell) #19

Странные вы ребята
Фукудит - 0.9.273 - последний
Вебдрайвер - 2.43.1
Фаерфокс - 33.0

Полет нормальный