lak*_*ker 6 javascript zombie.js
问题:
我正在使用zombie.js来测试我的客户端javascript,但我遇到了一个问题.Zombie.js不提供同步<script>标记执行,实际上似乎根本不执行外部JS文件.基本测试证实了这一点:
<script type="text/javascript" src="test1.js"></script>
<script type="text/javascript" src="test2.js"></script>
<script type="text/javascript" src="test3.js"></script>
<script type="text/javascript">
console.log("Inline javascript.");
</script>
Run Code Online (Sandbox Code Playgroud)
每个测试#.js都包含一行: console.log("TEST#.JS");
当我在常规浏览器中呈现它时,控制台显示预期的:
TEST1.JS
TEST2.JS
TEST3.JS
Inline javascript.
Run Code Online (Sandbox Code Playgroud)
但是当我用zombie.js运行它时,我只看到一行 Inline javascript.
以下是我试图解决的问题:
document.createElement一个脚本标签动态地附加到文件document.write该脚本块添加到HTMLsetTimeouton console.log("Inline javascript")与1和2结合使测试脚本有一段时间加载.有没有办法解决这个问题,除了将所有外部JS文件中的JS代码放入一个巨大的<script>块中?
小智 3
您确定浏览器对象的“runScripts”选项设置为 true 吗?如果没有,您可以使用以下语法:
browser.visit('... your page url ...', { runScripts: true }, function (e, b) {
console.log('executing callback');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
820 次 |
| 最近记录: |