求助!如何解决Selenium+eclipse下关于timeout的问题
源程序:package com.example;
import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class test0426 extends SeleneseTestCase {
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://www.baidu.com/");
selenium.start();
}
@Test
public void testTest0426() throws Exception {
selenium.open("/");
selenium.type("id=kw", "sdgfssfs");
selenium.click("id=su");
selenium.waitForPageToLoad("30000");
verifyTrue(selenium.isTextPresent("SPBC887.17.br"));
selenium.click("link=SPBC887.17.br");
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
执行后提示错误:
com.thoughtworks.selenium.SeleniumException: Timed out after 30000ms
如果注释selenium.waitForPageToLoad("30000")后执行提示错误:
com.thoughtworks.selenium.SeleniumException: ERROR: Command execution failure. Please search the forum at http://clearspace.openqa.org for error details from the log window.The error message is: 没有权限
本人新手,刚接触selenium,请各位高手指点下,谢谢! 本帖最后由 sweetyxu 于 2012-4-26 15:45 编辑
selenium.waitForPageToLoad("30000")
比较粗糙的修改方式是在eclipse里把这话改成Thread.sleep(1000);试试
以下是引用的别人的文章:
有人说selenium server的JAR包里面core/scripts/selenium-browserbot.js存在BUG,需要修改一下,其实修改了之后也并不能完全解决执行过程中偶发的“没有权限”问题。
A)修改这个js文件,重新丢进包里;
B)如果使用ie测试,则尽量使用iehta模式;
C)重写一下click和type等方法,指定超时时间,在指定时间内反复try。 1. 等待了30秒后,确认下页面是否真的加载完成(进度条),如果没有waitForPageToLoad超时则正常;
2. 注释掉waitForPageToLoad,当页面处于刷新状态时,执行selenium操作,特别是ieElementPresent()和isTextPresent()的命令,报没有权限是常有的事 很明显,是浏览器没有响应,脚本没有录制错误。
两种错误可能:1 你的junit没配置好,你可以运行一下你的eclipse,看脚本运行的时候,有没有把IE打开baidu
2.你的 @Before那里没有设置对。
public void setUp() throws Exception {
WebDriver driver = new FirefoxDriver();
String baseUrl = "http://www.baidu.com/";
selenium = new WebDriverBackedSelenium(driver, baseUrl);
}
错误1可能大。如果不太懂,可以+我群号20226323 鉴定完毕!
http://www.discuz.net/static/image/common/sigline.gif
bbs.5dba.comwww.5sdg.comwww.0554zpw.comwww.8dnh.com 学习了~
页:
[1]