我正在使用Zombie.js进行Cucumber-js测试,而我似乎无法运行客户端脚本。
访问该页面:
this.browser.visit("http://localhost/boic",function(e, browser,status,errors){
console.log('status',status);
console.log('error',errors);
console.log('console',browser.text("H1"));
});
返回状态200,没有错误,并正确显示H1文本。但是,如果我包含一个脚本来更改页面中的H1代码:
<script>
$('H1').html('hello world');
</script>
H1文本保持不变,并且没有全局变量可以通过browser.window ...
访问谢谢!
答案 0 :(得分:1)
在调用脚本之前,您是否在页面中加载了jQuery?
还有runScripts浏览器选项,但默认为true。
但我建议运行一个外部的phantom.js进程并通过webdriver界面。仅仅因为我花了6个月的时间试图让僵尸做我想做的事情,而phantomjs让事情变得简单。 http://phantomjs.org/release-1.8.html https://github.com/LearnBoost/soda
答案 1 :(得分:1)
我同意Jon Biz。僵尸很难合作。许多使用可能包含小错误的JS库的站点会在僵尸浏览器遇到它们时导致它崩溃(我认为节点失败) - 如果你设置了runScripts选项。这使得很难用于需要外部JS的任何应用程序/站点 - 即大多数。
我还建议切换到Phantomjs。