Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拦截使用Zombie.js发出的请求_Javascript_Ajax_Node.js_Intercept_Zombie.js - Fatal编程技术网

Javascript 拦截使用Zombie.js发出的请求

Javascript 拦截使用Zombie.js发出的请求,javascript,ajax,node.js,intercept,zombie.js,Javascript,Ajax,Node.js,Intercept,Zombie.js,前言:我尝试在我的项目中遵循TDD方法,同时对Node.js整体来说是新的,特别是对Zombie.js 我用Zombie.js加载了一个“全AJAX”HTML页面。该页面对我的服务器执行一些XMLHttpRequest查询,并通过带有GET参数的标记加载一些JS文件(JS文件是动态生成的)。然而,启动服务器、所有的补充工作、重置所有这些的状态都非常昂贵,而且跟踪自动生成的JS文件很难实现,所以我想在不引起页面注意的情况下模拟通信服务器 我考虑过的一种方法是通过browser.evaluate()

前言:我尝试在我的项目中遵循TDD方法,同时对Node.js整体来说是新的,特别是对Zombie.js

我用Zombie.js加载了一个“全AJAX”HTML页面。该页面对我的服务器执行一些XMLHttpRequest查询,并通过带有GET参数的
标记加载一些JS文件(JS文件是动态生成的)。然而,启动服务器、所有的补充工作、重置所有这些的状态都非常昂贵,而且跟踪自动生成的JS文件很难实现,所以我想在不引起页面注意的情况下模拟通信服务器

我考虑过的一种方法是通过
browser.evaluate()
,用我自己的hook对象替换
XMLHttpRequest
,但使用这种方法,我无法控制浏览器如何执行任何其他请求,如

第二种方法是通过代理重定向整个浏览器实例,并实现我自己的代理-这就足够了,但我不希望实现完全保证的HTTP(S)代理仅用于测试目的,因为我将最终测试代理,这不会轻易结束:)


那么,有没有其他解决方案,也许可以让我精确地控制Zombie.js告诉外部世界什么以及世界会回答什么?

关于最后一点,您可以使用并对请求和响应进行MITM更改。这是一个很棒的程序。fiddler不只是一个独立的应用程序吗?我的目标是为测试目的提供自动化解决方案,但我不认为有办法将fiddler集成到这个工作流中。是的,如果您正在寻找什么req/res并希望实时编辑它们,这是一个很好的工具。不过我误解了你的意图。