0
为了避免使用我们的分析标记进行回归,我想使用PhantomJS自动测试Adobe Analytics标记。将自定义变量传递给PhantomJS onResourceRequested
要做到这一点我希望能够测试两件事情:
- 在HTML源代码的某些JS变量声明存在
- 比较HTML源代码中的变量与到Adobe Analytics(分析)取得Ajax调用和确保他们在HTML源
为例变量我想同样的值间谍上:
<script>s.events="event27";</script>
这里是JS测试脚本我有这么远:
"use strict";
if (!String.prototype.contains) {
String.prototype.contains = function (arg) {
return !!~this.indexOf(arg);
};
}
var page = require('webpage').create();
page.onResourceRequested = function(request) {
var obj = JSON.stringify(request, undefined, 4);
var needle = '2o7';
var url = request.url;
if (url.contains(needle)) {
var calledUrl = decodeURI(decodeURIComponent(url));
console.log(calledUrl);
}
};
page.onResourceReceived = function(response) {
var jsonResponse = JSON.stringify(response, undefined, 4);
};
page.open('http://www.domain.com/page.html', function() {
var s_account = page.evaluate(function() {
return window.s_account;
});
var s_events = page.evaluate(function() {
return window.s.events;
});
phantom.exit();
});
我希望能够通s_account和s_events变量的onResourceRequested功能,这样我可以在这2间断言平等变量和_GET参数在calledUrl var。
但我不知道如何去做。任何帮助,将不胜感激!