最近我遇到了一个奇怪的问题。我正在使用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 -->
答案 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并与之共存:)