Skip to content

Selenium WebDriver driver.getSession() wait a long time #86

@huan

Description

@huan

In our case, the timeout is 67 seconds:

Detail: https://travis-ci.org/wechaty/wechaty/jobs/175139957

I don't know why yet.

And it seems if we had an invalid WebDriver, then we will have a browser leak.

need to use process.kill to kill it, in clean().

A unit test fail log like this:

VERB PuppetWebBrowser constructor() with head(chrome) sessionFile()
VERB PuppetWebBrowserDriver constructor(chrome)
VERB PuppetWebBrowserCookie constructor(BrowserDriver, )
VERB PuppetWebBrowser init()
VERB StateMonitor Browser:target(open) <- (close)
VERB StateMonitor Browser:current(open,false) <- (close,true)
VERB PuppetWebBrowserDriver init() for head: chrome
VERB PuppetWebBrowserDriver getChromeDriver()
VERB PuppetWebBrowserDriver getChromeDriver() new Builder()
VERB PuppetWebBrowserDriver getChromeDriver() new Builder() done
VERB PuppetWebBrowserDriver valid()
WARN PuppetWebBrowserDriver valid() driver.getSession() timeout(halt?)
WARN PuppetWebBrowserDriver valid() driver.getSession() exception: valid() driver.getSession() timeout(halt?)
VERB PuppetWebBrowserDriver getChromeDriver() valid() done: false
VERB PuppetWebBrowserDriver getChromeDriver() new Builder()
WARN PuppetWebBrowserDriver getChromeDriver() got invalid driver
WARN PuppetWebBrowserDriver getChromeDriver() with retry: 1
VERB PuppetWebBrowserDriver getChromeDriver() new Builder() done
VERB PuppetWebBrowserDriver valid()
VERB PuppetWebBrowserDriver valid() driver.getSession() done
VERB PuppetWebBrowserDriver valid() driver.executeScript() done
VERB PuppetWebBrowserDriver getChromeDriver() valid() done: true
VERB PuppetWebBrowser init() driver.init() done
VERB PuppetWebBrowser open(https://wx.qq.com/zh_CN/htmledition/v2/images/webwxgeticon.jpg)
VERB PuppetWebBrowser open(https://wx.qq.com)
VERB StateMonitor Browser:current(open,true) <- (open,false)
VERB PuppetWebBrowser open(https://wx.qq.com)
VERB PuppetWebBrowser quit()
VERB StateMonitor Browser:current(close,false) <- (open,true)
ERR PuppetWebBrowser retryPromise failed: clean() found browser process, not clean, dirty
WARN PuppetWebBrowser quit() exception: clean() found browser process, not clean, dirty
WARN PuppetWebBrowser driver.quit() exception: clean() found browser process, not clean, dirty
VERB StateMonitor Browser:current(close,true) <- (close,false)
  ✖ test › webdriver › WebDriver process create & quit test no driver process after quit   
  t.is(pids.length, 0, 'no driver process after quit')
            |                                         
            5                                         
  

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions