提交 4b3f3f03 编写于 作者: Huan (李卓桓)'s avatar Huan (李卓桓)

code clean

上级 7f800073
......@@ -7,7 +7,7 @@
"DEFAULT_HEAD": "chrome"
, "DEFAULT_PUPPET": "web"
, "DEFAULT_PORT": 8788
, "DEFAULT_WEB_PORT": 58788
, "DEFAULT_PUPPET_PORT": 58788
},
"scripts": {
"lint": "eslint src test",
......
......@@ -163,29 +163,29 @@ class Browser extends EventEmitter {
log.verbose('PuppetWebBrowser', 'driver.quit() skipped because no driver session')
return Promise.resolve('no driver session')
}
return this.driver.close() // http://stackoverflow.com/a/32341885/1123955
.then(_ => this.driver.quit())
.catch(e => {
// console.log(e)
// log.warn('PuppetWebBrowser', 'err: %s %s %s %s', e.code, e.errno, e.syscall, e.message)
const crashMsgs = [
'ECONNREFUSED'
, 'WebDriverError: .* not reachable'
, 'NoSuchWindowError: no such window: target window already closed'
]
const crashRegex = new RegExp(crashMsgs.join('|'), 'i')
if (crashRegex.test(e.message)) { log.warn('PuppetWebBrowser', 'driver.quit() browser crashed') }
else { log.warn('PuppetWebBrowser', 'driver.quit() exception: %s', e.message) }
})
.then(_ => {
this.driver = null
return this.clean()
})
.catch(e => {
log.error('PuppetWebBrowser', 'quit() exception: %s', e.message)
throw e
})
return co(function* () {
yield this.driver.close() // http://stackoverflow.com/a/32341885/1123955
yield this.driver.quit()
this.driver = null
yield this.clean()
}).catch(e => {
// console.log(e)
// log.warn('PuppetWebBrowser', 'err: %s %s %s %s', e.code, e.errno, e.syscall, e.message)
log.error('PuppetWebBrowser', 'quit() exception: %s', e.message)
const crashMsgs = [
'ECONNREFUSED'
, 'WebDriverError: .* not reachable'
, 'NoSuchWindowError: no such window: target window already closed'
]
const crashRegex = new RegExp(crashMsgs.join('|'), 'i')
if (crashRegex.test(e.message)) { log.warn('PuppetWebBrowser', 'driver.quit() browser crashed') }
else { log.warn('PuppetWebBrowser', 'driver.quit() exception: %s', e.message) }
})
}
clean() {
......
......@@ -38,9 +38,8 @@ const config = require('../config')
class PuppetWeb extends Puppet {
constructor({
// port = 8788 // W(87) X(88), ascii char code ;-]
profile // if not set profile, then dont store session.
, head
head = config.DEFAULT_HEAD
, profile // if not set profile, then do not store session.
} = {}) {
super()
this.head = head
......@@ -59,7 +58,7 @@ class PuppetWeb extends Puppet {
return co.call(this, function* () {
this.port = yield UtilLib.getPort(config.DEFAULT_WEB_PORT)
this.port = yield UtilLib.getPort(config.DEFAULT_PUPPET_PORT)
log.verbose('PuppetWeb', 'init() getPort %d', this.port)
yield this.initAttach(this)
......
......@@ -10,7 +10,7 @@ test('Wechaty Framework', function(t) {
t.ok(Wechaty.IoBot , 'should export Wechaty.IoBot')
t.ok(Wechaty.log , 'should export Wechaty.log')
t.ok(Wechaty.config , 'should export Wechaty.config')
t.ok(Wechaty.Puppet , 'should export Wechaty.Puppet')
t.ok(Wechaty.PuppetWeb , 'should export Wechaty.PuppetWeb')
......@@ -20,3 +20,16 @@ test('Wechaty Framework', function(t) {
t.end()
})
test('Wechaty config setting', function(t) {
const Wechaty = require('../')
const config = Wechaty.config
t.ok(config , 'should export Wechaty.config')
t.ok(config.DEFAULT_HEAD , 'should has DEFAULT_HEAD')
t.ok(config.DEFAULT_PUPPET , 'should has DEFAULT_PUPPET')
t.ok(config.DEFAULT_PORT , 'should has DEFAULT_PORT')
t.ok(config.DEFAULT_PUPPET_PORT, 'should has DEFAULT_PUPPET_PORT')
t.end()
})
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册