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

code clean & log enhance

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