我是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);
}
答案 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);