指定的超时类型无效:页面加载

时间:2017-08-30 18:34:15

标签: java selenium-webdriver

我是Selenium和自动化测试的新手,我面临以下错误消息:

org.openqa.selenium.InvalidArgumentException: Invalid timeout type specified: page load

当运行test / login / user并且传递的类型非常慢 - 例如每10-15秒1个符号。我能够登录,但测试失败并显示上述错误消息。 我该如何修复它,以便测试运行得更快,我认为这是问题?

Windows 10 IE 11 即驱动程序32位3.5.0

和代码:

@Before
public void setUp() throws Exception {

    System.setProperty("webdriver.ie.driver", "D:\\Documents\\SeleniumDriver\\IEDriverServer.exe");

    this.driver = new InternetExplorerDriver();
    this.driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(4000, TimeUnit.MINUTES);
    driver.get(Constant.URL);

    ExcelUtils.setExcelFile(Constant.Path_TestData + Constant.File_TestData, "Sheet1");

}

@SuppressWarnings("deprecation")
@Test
public void Activation() throws Exception {

    LoginModel.LoginAdminCredentials(driver);

    driver.manage().timeouts().pageLoadTimeout(4000, TimeUnit.MINUTES);

    String currentURL = driver.getCurrentUrl();

    Assert.assertEquals("expectedURL", currentURL);

} 

1 个答案:

答案 0 :(得分:0)

你应该摆脱

driver.manage().timeouts().pageLoadTimeout(4000, TimeUnit.MINUTES); 

@Test方法中,因为driver.manage().timeouts()值一直存在,直到驱动程序的实例处于活动状态,无论是默认值还是用户设置的自定义值。

另外,为了减少执行时间,您可以尝试通过替换

来更新@Before方法
driver.manage().timeouts().implicitlyWait(4000, TimeUnit.MINUTES);

driver.manage().timeouts().implicitlyWait(4000, TimeUnit.SECONDS);