2011-08-16 166 views
2

我想使用zombie.js无头浏览器测试我的node.js/socket.io应用程序。zombie.js和socket.io(node.js)

不幸的是,当zombie.js应用程序连接到我的应用程序,它报告连接/断开连接事件的负载。

例如,

Zombie: Firing timeout 234, delay: 1000 
Zombie: GET http://localhost:8000/socket.io/1/?t=1313487267750&jsonp=68 
Zombie: GET http://localhost:8000/socket.io/1/?t=1313487267724&jsonp=69 
connected 
connected 
connected 
Zombie: Firing timeout 237, delay: 2000 
Zombie: Firing timeout 226, delay: 16000 
Zombie: Firing timeout 218, delay: 25000 
disconnected 

看来僵尸不尊重超时延迟,所以我不知道这是否可能是一个原因?

有没有人试过用socket.io使用僵尸或可以告诉我为什么僵尸似乎立即启动超时而不是等待规定的时间?

+0

你确定这不是僵尸模拟XHR保持socket.io连接打开吗? – Raynos

+0

是的,可能。我用更好的例子更新了这个问题。我认为问题可能是XHR请求在规定的超时延迟之后不会发生,而是立即发生。 – bdls

+2

@bdis这可能是僵尸的限制。尝试用phantomjs复制它 – Raynos

回答

1

包装起来:我使用Phantomjs,推荐使用@Raynos,它很好地工作。

+0

我遇到了与Zombie相同的场景,你有没有使用PhantomJS进行ajax测试的任何参考? – balanv

+0

我的意思是对于ajax/socket.io的实现测试 – balanv