Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.Veneno.
wechaty
提交
7f9957a8
W
wechaty
项目概览
.Veneno.
/
wechaty
与 Fork 源项目一致
Fork自
wechaty / wechaty
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
W
wechaty
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7f9957a8
编写于
10月 31, 2016
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
code clean & log enhance
上级
ad0ad30d
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
24 addition
and
13 deletion
+24
-13
src/puppet-web/browser-driver.ts
src/puppet-web/browser-driver.ts
+15
-6
src/puppet-web/puppet-web.ts
src/puppet-web/puppet-web.ts
+8
-5
test/puppet-web/browser.spec.ts
test/puppet-web/browser.spec.ts
+1
-2
未找到文件。
src/puppet-web/browser-driver.ts
浏览文件 @
7f9957a8
...
...
@@ -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
...
...
src/puppet-web/puppet-web.ts
浏览文件 @
7f9957a8
...
...
@@ -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
'
,
'
init
Browser()
'
)
public
createBrowser
()
{
log
.
verbose
(
'
PuppetWeb
'
,
'
create
Browser()
'
)
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
)
...
...
test/puppet-web/browser.spec.ts
浏览文件 @
7f9957a8
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录