我用例:摩卡框架来测试出站客户请求
实现自动化测试在浏览器中打开页面后拍照onbound客户端请求。例如,打开http://foo.com,稍后使用几个参数使标记调用http://bar.com。
问题: 如何测试foo.com是否发起了对bar.com的呼叫?摩卡能做到这一点吗?
我用例:摩卡框架来测试出站客户请求
实现自动化测试在浏览器中打开页面后拍照onbound客户端请求。例如,打开http://foo.com,稍后使用几个参数使标记调用http://bar.com。
问题: 如何测试foo.com是否发起了对bar.com的呼叫?摩卡能做到这一点吗?
回答我自己的问题。
我发现了一种方法来捕获一个页面使用phantomjs进行的所有请求,它有一个名为phantom(https://www.npmjs.com/package/phantom)的节点模块,它可以打开一个页面,并且侦听器将提供所有请求的资源。
样品javascript代码,
var phantom = require('phantom');
phantom.create(function (ph) {
ph.createPage(function (page) {
page.open("http://ramcountry.yahoo.com", function (status) {
console.log("opened site? ", status);
});
page.set('onResourceRequested', function(requestData, networkRequest) {
console.log("requested: ", requestData.url);
});
page.set('onResourceReceived', function(requestData, networkRequest) {
console.log("received: ", requestData.url);
});
});
});
摩卡(设计)不提供这样的事情,但可以用其他工具集成(正如你指出你的对方的回答)提供测试好处。但是你的答案没有表现出任何的测试,所以我打算放弃在这里的几个框架,专为测试而设计: