提交 a6d81e6e 编写于 作者: Huan (李卓桓)'s avatar Huan (李卓桓)
上级 b36c6f63
......@@ -376,7 +376,9 @@ export class Bridge {
try {
const noWechaty = await this.execute('return typeof WechatyBro === "undefined"')
if (noWechaty) {
throw new Error('there is no WechatyBro in browser(yet)')
const e = new Error('there is no WechatyBro in browser(yet)')
this.puppet.browser.dead(e)
throw e
}
} catch (e) {
log.error('PuppetWebBridge', 'proxyWechaty() noWechaty exception: %s', e.stack)
......
......@@ -29,19 +29,19 @@ export class BrowserDriver {
public async init(): Promise<this> {
log.verbose('PuppetWebBrowserDriver', 'init() for head: %s', this.head)
if (this.driver) {
try {
// const valid = await this.valid(this.driver)
// if (valid) {
// // await this.driver.close()
await this.driver.quit()
// }
} catch (e) {
log.verbose('PuppetWebBrowserDriver', 'init() this.driver.quit() soft exception: %s'
, e.stack
)
}
}
// if (this.driver) {
// try {
// // const valid = await this.valid(this.driver)
// // if (valid) {
// // // await this.driver.close()
// await this.driver.quit()
// // }
// } catch (e) {
// log.verbose('PuppetWebBrowserDriver', 'init() this.driver.quit() soft exception: %s'
// , e.message
// )
// }
// }
switch (this.head) {
case 'phantomjs':
......@@ -137,11 +137,10 @@ export class BrowserDriver {
log.verbose('PuppetWebBrowserDriver', 'getChromeDriver() new Builder() done')
const valid = await this.valid(driver)
log.verbose('PuppetWebBrowserDriver', 'getChromeDriver() valid() done: %s', valid)
const isValid = await this.valid(driver)
log.verbose('PuppetWebBrowserDriver', 'getChromeDriver() valid() done: %s', isValid)
if (!valid) {
if (!isValid) {
err = new Error('getChromeDriver() got invalid driver')
log.warn('PuppetWebBrowserDriver', err.message)
driver = null
......@@ -245,6 +244,7 @@ export class BrowserDriver {
log.verbose('PuppetWebBrowserDriver', 'valid()')
try {
log.verbose('PuppetWebBrowserDriver', 'valid() getSession()')
const session = await new Promise((resolve, reject) => {
// reject
const timer = setTimeout(() => {
......@@ -256,13 +256,14 @@ export class BrowserDriver {
// resolve
driver.getSession()
.then(session => {
log.verbose('PuppetWebBrowserDriver', 'valid() getSession() done')
clearTimeout(timer)
resolve(session)
})
})
log.verbose('PuppetWebBrowserDriver', 'valid() driver.getSession() done')
log.verbose('PuppetWebBrowserDriver', 'valid() driver.getSession() done(out)')
if (!session) {
log.verbose('PuppetWebBrowserDriver', 'valid() found an invalid driver')
......
......@@ -202,6 +202,8 @@ export class Browser extends EventEmitter {
}
public async clean(kill = false): Promise<void> {
log.verbose('PuppetWebBrowser', 'clean(kill=%s)', kill)
const max = 30
const backoff = 100
......@@ -355,7 +357,7 @@ export class Browser extends EventEmitter {
return false // browser not ok, dead
}
public dead(forceReason?: string): boolean {
public dead(forceReason?: any): boolean {
// too noisy!
// log.silly('PuppetWebBrowser', 'dead() checking ... ')
......
......@@ -83,9 +83,9 @@ test('timer', async t => {
// timeout = 84,500 for {max: 13, backoff: 1000}
const timeout = max * (backoff * max) / 2
return retryPromise({max: max, backoff: backoff}, async function(attempt) {
log.silly('TestPuppetWeb', 'waitDing() retryPromise: attampt %s/%s time for timeout %s'
, attempt, max, timeout)
return retryPromise({max, backoff }, async function(attempt) {
log.silly('TestPuppetWeb', 'waitDing() retryPromise: attampt %s/%s time for timeout %s',
attempt, max, timeout)
try {
const r = await pw.ding(data)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册