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

code clean & log enhance

上级 ad0ad30d
...@@ -110,12 +110,14 @@ export class BrowserDriver { ...@@ -110,12 +110,14 @@ export class BrowserDriver {
/** /**
* XXX when will Builder().build() throw exception??? * XXX when will Builder().build() throw exception???
*/ */
let ttl = 3 let retry = 0
let err = new Error('unknown') let err = new Error('unknown')
let driver: WebDriver|null = null let driver: WebDriver|null = null
while (!driver && ttl-- > 0) { do {
log.verbose('PuppetWebBrowserDriver', 'getChromeDriver() with ttl: %d', ttl) if (retry > 0) {
log.warn('PuppetWebBrowserDriver', 'getChromeDriver() with retry: %d', retry)
}
try { try {
driver = new Builder() driver = new Builder()
...@@ -127,19 +129,24 @@ export class BrowserDriver { ...@@ -127,19 +129,24 @@ export class BrowserDriver {
const valid = await this.valid(driver) const valid = await this.valid(driver)
if (!valid) { if (!valid) {
log.warn('PuppetWebBrowserDriver', 'getChromeDriver() got invalid driver')
driver = null driver = null
} }
} catch (e) { } catch (e) {
log.warn('PuppetWebBrowserDriver', 'getChromeDriver() exception: %s, retry ttl: %d', e.message, ttl) log.warn('PuppetWebBrowserDriver', 'getChromeDriver() exception: %s, retry: %d', e.message, retry)
driver = null driver = null
err = e err = e
} }
}
} while (!driver && retry++ < 3)
if (!driver) { if (!driver) {
log.error('PuppetWebBrowserDriver', 'getChromeDriver() exception: %s, retry ttl: %d', err.stack, ttl) log.error('PuppetWebBrowserDriver', 'getChromeDriver() exception: %s, retry: %d', err.stack, retry)
throw err throw err
} else {
log.silly('PuppetWebBrowserDriver', 'getChromeDriver() success')
} }
return driver return driver
...@@ -227,6 +234,8 @@ export class BrowserDriver { ...@@ -227,6 +234,8 @@ export class BrowserDriver {
const session = await driver.getSession() const session = await driver.getSession()
if (!session) { if (!session) {
log.warn('PuppetWebBrowserDriver', 'valid() found an invalid driver') log.warn('PuppetWebBrowserDriver', 'valid() found an invalid driver')
} else {
log.silly('PuppetWebBrowserDriver', 'valid() driver ok')
} }
return !!session return !!session
......
...@@ -61,6 +61,8 @@ export class PuppetWeb extends Puppet { ...@@ -61,6 +61,8 @@ export class PuppetWeb extends Puppet {
setting.head = Config.head setting.head = Config.head
} }
this.on('watchdog', Watchdog.onFeed.bind(this)) this.on('watchdog', Watchdog.onFeed.bind(this))
this.createBrowser()
} }
public toString() { return `Class PuppetWeb({browser:${this.browser},port:${this.port}})` } public toString() { return `Class PuppetWeb({browser:${this.browser},port:${this.port}})` }
...@@ -92,7 +94,6 @@ export class PuppetWeb extends Puppet { ...@@ -92,7 +94,6 @@ export class PuppetWeb extends Puppet {
this.emit('watchdog', food) this.emit('watchdog', food)
log.verbose('PuppetWeb', 'init() done') log.verbose('PuppetWeb', 'init() done')
// this.currentState('live')
this.state.current('live') this.state.current('live')
return return
...@@ -161,16 +162,19 @@ export class PuppetWeb extends Puppet { ...@@ -161,16 +162,19 @@ export class PuppetWeb extends Puppet {
this.state.current('dead') this.state.current('dead')
} }
public async initBrowser(): Promise<void> { public createBrowser() {
log.verbose('PuppetWeb', 'initBrowser()') log.verbose('PuppetWeb', 'createBrowser()')
this.browser = new Browser({ this.browser = new Browser({
head: <HeadName>this.setting.head head: <HeadName>this.setting.head
, sessionFile: this.setting.profile , sessionFile: this.setting.profile
}) })
}
public async initBrowser(): Promise<void> {
log.verbose('PuppetWeb', 'initBrowser()')
this.browser.on('dead', Event.onBrowserDead.bind(this)) this.browser.on('dead', Event.onBrowserDead.bind(this))
// if (this.targetState() !== 'live') {
if (this.state.target() !== 'live') { if (this.state.target() !== 'live') {
const e = new Error('found state.target()) != live, no init anymore') const e = new Error('found state.target()) != live, no init anymore')
log.warn('PuppetWeb', 'initBrowser() %s', e.message) log.warn('PuppetWeb', 'initBrowser() %s', e.message)
...@@ -193,7 +197,6 @@ export class PuppetWeb extends Puppet { ...@@ -193,7 +197,6 @@ export class PuppetWeb extends Puppet {
, this.port , this.port
) )
// if (this.targetState() !== 'live') {
if (this.state.target() !== 'live') { if (this.state.target() !== 'live') {
const errMsg = 'initBridge() found targetState != live, no init anymore' const errMsg = 'initBridge() found targetState != live, no init anymore'
log.warn('PuppetWeb', errMsg) log.warn('PuppetWeb', errMsg)
......
...@@ -173,8 +173,7 @@ test('Browser Cookie save/load test', async t => { ...@@ -173,8 +173,7 @@ test('Browser Cookie save/load test', async t => {
t.truthy(cookieAfterQuit, 'should get cookie from getCookie()') t.truthy(cookieAfterQuit, 'should get cookie from getCookie()')
t.is(cookieAfterQuit.name, EXPECTED_COOKIE.name, 'cookie from getCookie() after browser quit, should load the right cookie back') t.is(cookieAfterQuit.name, EXPECTED_COOKIE.name, 'cookie from getCookie() after browser quit, should load the right cookie back')
// clean fs.unlink(profileName, err => { // clean
fs.unlink(profileName, err => {
if (err) { if (err) {
log.warn('Browser', 'unlink session file %s fail: %s', PROFILE, err) log.warn('Browser', 'unlink session file %s fail: %s', PROFILE, err)
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册