如何获得测试以像 Rails 中的 vcr 一样使用 AngularJs 记录固定装置?
How to get tests to record fixtures with AngularJs like vcr in Rails?
我到处都在寻找,我尝试了节点重播,但使用了量角器,但它不适用于 selenium。
我也试过 vcr.js 和棕褐色。
我该如何设置我的测试,因为他们进行初始调用但将它们存储为磁带,如录像机。
干杯。
我一直在设置棕褐色以与量角器一起使用。
现在可以使用了,这是我所做的:
我假设您已经将 g运行t-connect 设置为 运行 您的量角器测试。
然后您需要等待来自连接配置的事件监听事件:
grunt.event.once('connect.test.listening', function)
这就是您要配置棕褐色的地方。
grunt.event.once('connect.test.listening', function(host, port) {
/**
* Configure sepia here
*/
var sepia = require('sepia').withSepiaServer();
// Use your custom configuration
sepia.configure({
verbose: true,
debug: true,
includeHeaderNames: false,
includeCookieNames: false
});
// I have some path/body content to filter configured in the vrc configuration
var bodyFilters = grunt.config('vcr.filters.body') || [];
var pathFilters = grunt.config('vcr.filters.path') || [];
var regexPath = function(string) {
var escapedString = string.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\^$\|]/g, '\$&');
return new RegExp(escapedString);
};
// Filter path
_.map(pathFilters, function(filter) {
sepia.filter({
url: regexPath(filter.path),
urlFilter: function(url) {
return url.replace(filter.pattern, filter.replacement);
}
});
});
// Filter body content
_.map(bodyFilters, function(filter) {
sepia.filter({
url: regexPath(filter.path),
bodyFilter: function(body) {
return body.replace(filter.pattern, filter.replacement);
}
});
});
});
});
我到处都在寻找,我尝试了节点重播,但使用了量角器,但它不适用于 selenium。
我也试过 vcr.js 和棕褐色。
我该如何设置我的测试,因为他们进行初始调用但将它们存储为磁带,如录像机。
干杯。
我一直在设置棕褐色以与量角器一起使用。 现在可以使用了,这是我所做的:
我假设您已经将 g运行t-connect 设置为 运行 您的量角器测试。
然后您需要等待来自连接配置的事件监听事件:
grunt.event.once('connect.test.listening', function)
这就是您要配置棕褐色的地方。
grunt.event.once('connect.test.listening', function(host, port) {
/**
* Configure sepia here
*/
var sepia = require('sepia').withSepiaServer();
// Use your custom configuration
sepia.configure({
verbose: true,
debug: true,
includeHeaderNames: false,
includeCookieNames: false
});
// I have some path/body content to filter configured in the vrc configuration
var bodyFilters = grunt.config('vcr.filters.body') || [];
var pathFilters = grunt.config('vcr.filters.path') || [];
var regexPath = function(string) {
var escapedString = string.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\^$\|]/g, '\$&');
return new RegExp(escapedString);
};
// Filter path
_.map(pathFilters, function(filter) {
sepia.filter({
url: regexPath(filter.path),
urlFilter: function(url) {
return url.replace(filter.pattern, filter.replacement);
}
});
});
// Filter body content
_.map(bodyFilters, function(filter) {
sepia.filter({
url: regexPath(filter.path),
bodyFilter: function(body) {
return body.replace(filter.pattern, filter.replacement);
}
});
});
});
});