2

我正在使用 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 访问全局变量...

谢谢!

4

2 回答 2

1

我同意 Jon Biz。僵尸很难使用。许多使用可能包含小错误的 JS 库的站点在僵尸浏览器遇到它们时会导致它崩溃(我认为节点失败) - 如果您设置了 runScripts 选项。这使得它很难用于任何需要外部 JS 的应用程序/站点 - 即它们中的大多数。

我还建议切换到 Phantomjs。

于 2014-04-10T13:56:51.507 回答
1

在调用脚本之前,您是否在页面中加载了 jQuery?

还有 runScripts 浏览器选项,但默认为 true。

但我会建议运行一个外部 phantom.js 进程并通过 webdriver 界面。仅仅因为我花了 6 个月的时间试图让僵尸做我想做的事,而 phantomjs 让这一切变得简单。 http://phantomjs.org/release-1.8.html https://github.com/LearnBoost/soda

于 2013-01-10T08:20:25.663 回答