如何使selenium web驱动程序等到我的firefox插件完成执行

时间:2014-12-27 11:36:11

标签: java selenium-webdriver firefox-addon

我在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();

这是我用来测试功能的示例代码。

1 个答案:

答案 0 :(得分:0)

请使用:

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

它将等待/暂停webdriver动作以秒为单位运行直到您设置的时间。 您可以根据需要设置秒数,分钟数。