我是webdriver的新手,需要一些帮助。
我在Windows XP上使用Selenium 2.2.0和FF v7.0.1
我已成功在IE中成功录制和播放java脚本,但每当我尝试在FF中执行相同的脚本时,都会收到以下错误消息:
45000 ms后无法在端口7055上连接到主机127.0.0.1
我已经阅读了很多地方,如果我将firefox版本降级为3.6脚本将正常工作,但我并不热衷于降级。有人可以告诉我我做错了吗?
package hisScripts;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
public class WebdriverTest_1 {
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
//driver=new InternetExplorerDriver();
baseUrl = "https://**********/";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testUntitled() throws Exception {
driver.get(baseUrl + "/");
driver.findElement(By.xpath("//a[contains(text(),'my profile')]")).click();
driver.findElement(By.xpath("//a[contains(text(),'about the service')]")).click();
driver.findElement(By.xpath("//a[contains(text(),'contact us')]")).click();
driver.findElement(By.xpath("//a[contains(text(),'help')]")).click();
driver.findElement(By.xpath("//a[contains(text(),'home')]")).click();
driver.findElement(By.xpath("//a[contains(text(),'logout')]")).click();
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
}
答案 0 :(得分:8)
您使用的硒版本非常陈旧。我不认为v2.2支持firefox 10。最新的是2.20。
查看更改日志here。从这里的注释开始,从v2.19.0开始支持firefox 10中的本机事件,这意味着你需要2.19或更高版本来支持firefox 10。
答案 1 :(得分:-1)
这个问题是由于fire fox版本和selenium jar文件版本的兼容性。使用最新的selenium jar文件。这可以解决问题。