我在JAVA中使用Selenium web驱动程序来测试功能。同时我已经开发了一个firefox附加功能来做另一个功能。当Selenium试图访问下一页时,我面临500内部服务器错误(假设 - 当我点击登录按钮时)。我认为这是因为该插件尚未完成其功能。该插件尝试并行访问多个URL。现在我如何让我的selenium web驱动程序等待我的firefox插件完成执行。我试过Thread.sleep(时间)。但时间限制各不相同,我不想浪费太多时间来睡觉。如何让网络驱动程序等到插件完成执行?
FirefoxProfile profile = new FirefoxProfile();
/* Add plugin to the profile*/
WebDriver firefoxDriver = new FirefoxDriver( profile );
firefoxDriver.navigate().to("URL");
WebElement username = firefoxDriver.findElement(By.id("User"));
WebElement password = firefoxDriver.findElement(By.id("Password"));
username.clear();
password.clear();
username.sendKeys("userid");
password.sendKeys("passwd");
firefoxDriver.manage().timeouts().implicitlyWait(300, TimeUnit.SECONDS);
firefoxDriver.findElement(By.className("log-on-btn")).click();
这是我用来测试功能的示例代码。
答案 0 :(得分:0)
请使用:
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
它将等待/暂停webdriver动作以秒为单位运行直到您设置的时间。 您可以根据需要设置秒数,分钟数。