Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.www.
wechaty
提交
a6d81e6e
W
wechaty
项目概览
.www.
/
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,发现更多精彩内容 >>
提交
a6d81e6e
编写于
11月 12, 2016
作者:
Huan (李卓桓)
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more check for
https://travis-ci.org/wechaty/wechaty/jobs/175254596#L1220
上级
b36c6f63
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
28 addition
and
23 deletion
+28
-23
src/puppet-web/bridge.ts
src/puppet-web/bridge.ts
+3
-1
src/puppet-web/browser-driver.ts
src/puppet-web/browser-driver.ts
+19
-18
src/puppet-web/browser.ts
src/puppet-web/browser.ts
+3
-1
test/puppet-web/watchdog.spec.ts
test/puppet-web/watchdog.spec.ts
+3
-3
未找到文件。
src/puppet-web/bridge.ts
浏览文件 @
a6d81e6e
...
...
@@ -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
)
...
...
src/puppet-web/browser-driver.ts
浏览文件 @
a6d81e6e
...
...
@@ -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
()
// 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
// )
// }
// }
}
catch
(
e
)
{
log
.
verbose
(
'
PuppetWebBrowserDriver
'
,
'
init() this.driver.quit() soft exception: %s
'
,
e
.
stack
)
}
}
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
(
!
v
alid
)
{
if
(
!
isV
alid
)
{
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
'
)
...
...
src/puppet-web/browser.ts
浏览文件 @
a6d81e6e
...
...
@@ -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 ... ')
...
...
test/puppet-web/watchdog.spec.ts
浏览文件 @
a6d81e6e
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录