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。
但我不知道如何去做。任何幫助,將不勝感激!