WebDriver无法在Firefox 4及更高版本上运行测试

时间:2011-12-22 07:44:27

标签: java gwt selenium webdriver gxt

最近我遇到了一个奇怪的问题。我正在使用WebDriver进行GWT Web应用程序的测试自动化。 (这是Maven 3项目)我正在为Firefox浏览器执行测试。只要我使用Firefox 3.6

,一切正常

每当我尝试使用从FF4到FF8的较新版本的Firefox运行测试时,问题就会启动。每当我运行我的测试时,我得到的是找不到的元素,我试图找到,点击,阅读等等。 使用不同类型的定位器(id,classname,name)进行任何类型的搜索都会产生:

org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"id","selector":"SOME_ID"}; duration or timeout: 31 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
...
Driver info: driver.version: RemoteWebDriver

只是我的应用程序发生了更多事情,因为当我写一个快速测试去google.com并搜索一些东西时,一切运行良好。

有没有人遇到过类似的问题?我的webapp有问题吗?也许我应该在某处改变一些东西?我只是不知道在哪里和哪里?也许新的firefox需要一些gwt应用程序配置文件? 如果这是任何帮助,这是我的POM文件:

 <?xml version="1.0" encoding="UTF-8"?>
 <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>WebTests</groupId>
<artifactId>WebTests</artifactId>
<version>1.0</version>

<!--START:repositories -->
<repositories>
    <repository>
        <id>selenium-repository</id>
        <url>http://selenium.googlecode.com/svn/repository/</url>
    </repository>
</repositories>
<!--END:repositories -->

<!--START:dependencies -->
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.1</version>
        <scope>test</scope>
    </dependency>

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

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-parent</artifactId>
        <version>2.13.0</version>
        <type>POM</type>
    </dependency>

    <dependency>
        <groupId>org.concordion</groupId>
        <artifactId>concordion</artifactId>
        <version>1.4.1</version>
    </dependency>
    <dependency>
        <groupId>org.concordion</groupId>
        <artifactId>concordion-extensions</artifactId>
        <version>1.0.1</version>
    </dependency>

</dependencies>
<!--END:dependencies -->

4 个答案:

答案 0 :(得分:1)

我们在项目中遇到了同样的问题,也使用了Maven等。

我尝试了几个Firefox版本,但似乎即使最新版本的selenium也不支持Firefox 3.x以上的版本

我们刚刚在我们的集成服务器上安装了3.x版本,我们一直在使用它。

答案 1 :(得分:0)

当你更新firefox时,你忘记改变的函数或类的名称可能会有变化。

您是否在谷歌浏览器上试用了代码?

答案 2 :(得分:0)

我建议更新到更新的Selenium - 因为浏览器集成很紧,WebDriver对ABI的变化很敏感。

答案 3 :(得分:0)

我又尝试了一些不同的方法。然而它仍然是相同的,页面被启动就好了,每当我尝试找到任何元素它失败与nosuchelementexception。在Firefox 4.0及更高版本上也是如此,在IE 7,8上也是如此。

嗯,我想我会回到3.6并与之共存:)