【问题标题】:Timed out waiting 45 seconds for Firefox to startFirefox 启动等待 45 秒超时
【发布时间】:2018-05-10 07:20:07
【问题描述】:

我使用的是 ubuntu 16.04

Timed out waiting 45 seconds for Firefox to start.
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:31.527Z'
System info: host: 'supranimbus-Inspiron-3250', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.10.0-40-generic', java.version: '1.8.0_151'
Driver info: driver.version: FirefoxDriver
    at org.openqa.selenium.firefox.XpiDriverService.waitUntilAvailable(XpiDriverService.java:131)
    at org.openqa.selenium.firefox.XpiDriverService.start(XpiDriverService.java:116)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:600)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:98)
    at facedoxmain.FaceDox.InvokeBrowser(FaceDox.java:17)
    at facedoxmain.FaceDox.main(FaceDox.java:57)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:20033/hub/status] to be available after 45005 ms
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)
    at org.openqa.selenium.firefox.XpiDriverService.waitUntilAvailable(XpiDriverService.java:129)

【问题讨论】:

  • 请分享代码
  • 45 秒太短了,因为 Firefox 超时启动。根据我的经验,更像是十分钟;-{
  • System.setProperty("webdriver.firefox.marionette","home\\supranimbus\\downloads\\geckodriver");驱动程序 = 新的 FirefoxDriver(); driver.manage().timeouts().implicitlyWait(90,TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(50,TimeUnit.SECONDS); driver.manage().window().maximize(); driver.manage().deleteAllCookies(); System.out.println("浏览器打开"); driver.get("192.168.0.29:3008/login/29");
  • @EJP 先生,我们(Firefox)已经发展到Firefox Quantum 的可用性,10 秒是我们在理想的Test Bed 中加载完整网页所需的时间

标签: java selenium testing selenium-webdriver


【解决方案1】:

我遇到了这个问题,终于找到了答案。我一直在引用 Marionette 驱动程序,该驱动程序对于 FF 53 版及更高版本的 Selenium 3.5 或更高版本不再正确。 GeckoDriver documentation 显示应该如何引用系统属性。

我将代码更改为:

System.setProperty("webdriver.firefox.marionette", System.getProperty("user.dir") + "path");  

到:

System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir") + "path");  

现在我的本地 Firefox 完美运行。

希望这对其他人有所帮助。

【讨论】:

  • 拜托,你能说出 System.getProperty("user.dir") 是什么吗? user.dir 在哪里或者是什么?谢谢!
【解决方案2】:

我在 WINdows 中遇到此错误 2 天,我的解决方案是在 Set.Plataform 中放置 Plataform.ANY 或 Plataform.Windows 因为 Plataform.WIN10 不起作用,木偶不是必需的,我添加了并且没有工作,只有工作这个。我希望这对其他人有帮助:

public class Main {
    public static RemoteWebDriver driver;

    public static void main(String[] args) throws MalformedURLException {
        System.setProperty("webdriver.gecko.driver", "D:/Lib/geckodriver.exe");
        DesiredCapabilities desiredCapabilities = new DesiredCapabilities().firefox();
        desiredCapabilities.setPlatform(Platform.ANY);
        desiredCapabilities.setBrowserName("firefox");

        driver = new RemoteWebDriver(new URL("http://172.20.19.182:5557/wd/hub"), desiredCapabilities);
        driver.navigate().to("http://www.google.com");
        driver.findElementByName("q").sendKeys("execute automation");
        driver.findElementByName("q").sendKeys(Keys.ENTER);
        driver.close();
        // write your code here
    }
}

【讨论】:

    【解决方案3】:

    在get方法之前使用隐式等待,它将等待页面加载例如:

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

    【讨论】:

    • driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);这也行不通
    • 请检查您传递的 IP 地址,显示无法访问该站点需要很长时间才能响应
    猜你喜欢
    • 2018-11-21
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2016-11-25
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多