Skip to content

Commit aeb471c

Browse files
Merge pull request #29 from DP6/configAdapt
Config adapt
2 parents 70dc7f6 + 9c429b6 commit aeb471c

File tree

1 file changed

+112
-107
lines changed

1 file changed

+112
-107
lines changed

index.js

Lines changed: 112 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -31,115 +31,120 @@ if (!(export_opt === 'xlsx' || export_opt === 'txt')) {
3131
// Defining export extension based on export option extracted from command line params.
3232
let filename = `${__dirname}/results/results_${new Date().getTime()}.${export_opt}`;
3333

34-
const config = require(`./config/${config_file}`);
35-
const schema = require(`./schema/${config.schema_name}`);
36-
37-
// let startChromeInDebugMode = async () => {
38-
// let operatingSystem = os.platform();
39-
// if (operatingSystem === "linux") {
40-
// await exec(
41-
// "google-chrome --remote-debugging-port=9222 --user-data-dir=remote-profile"
42-
// );
43-
// } else if (operatingSystem === "win32") {
44-
// await exec(
45-
// "start chrome --remote-debugging-port=9222 --user-data-dir=remote-profile"
46-
// );
47-
// }
48-
49-
// return new Promise((res) => {
50-
// setTimeout((_) => {
51-
// req("http://localhost:9222/json/version")
52-
// .then((result) => {
53-
// res(JSON.parse(result).webSocketDebuggerUrl);
54-
// })
55-
// .catch((err) =>
56-
// console.log(
57-
// "Error while trying to pick the Debugger URL. Did you open the chrome instance with debugging port?"
58-
// )
59-
// );
60-
// }, 5000);
61-
// });
62-
// };
63-
64-
(async () => {
65-
// const browser = await puppeteer.connect({
66-
// browserWSEndpoint: await startChromeInDebugMode(),
67-
// });
68-
const browser = await puppeteer.launch({ headless: false });
69-
let page = await browser.newPage();
70-
71-
// .pages
72-
// .then((res) => res[0])
73-
// .catch((err) => new Error(err));
74-
75-
if (config.gtmPreviewModeURL) await page.goto(config.gtmPreviewModeURL);
76-
77-
if (config.mobile_enabled === true) {
78-
await page.emulate(iPhone);
79-
} else {
80-
await page.setViewport({ width: 1366, height: 768 });
81-
}
82-
83-
await page.exposeFunction('bowser', (event) => {
84-
bowserjr.validate(schema, event, function (result) {
85-
resultsArray.push(result[0]);
34+
const configFile = require(`./config/${config_file}`);
35+
configFile.validator.forEach(async (config) => {
36+
const schema = require(`./schema/${config.schema_name[0]}`);
37+
// let startChromeInDebugMode = async () => {
38+
// let operatingSystem = os.platform();
39+
// if (operatingSystem === "linux") {
40+
// await exec(
41+
// "google-chrome --remote-debugging-port=9222 --user-data-dir=remote-profile"
42+
// );
43+
// } else if (operatingSystem === "win32") {
44+
// await exec(
45+
// "start chrome --remote-debugging-port=9222 --user-data-dir=remote-profile"
46+
// );
47+
// }
48+
49+
// return new Promise((res) => {
50+
// setTimeout((_) => {
51+
// req("http://localhost:9222/json/version")
52+
// .then((result) => {
53+
// res(JSON.parse(result).webSocketDebuggerUrl);
54+
// })
55+
// .catch((err) =>
56+
// console.log(
57+
// "Error while trying to pick the Debugger URL. Did you open the chrome instance with debugging port?"
58+
// )
59+
// );
60+
// }, 5000);
61+
// });
62+
// };
63+
64+
(async () => {
65+
// const browser = await puppeteer.connect({
66+
// browserWSEndpoint: await startChromeInDebugMode(),
67+
// });
68+
const browser = await puppeteer.launch({ headless: false });
69+
let page = await browser.newPage();
70+
71+
// .pages
72+
// .then((res) => res[0])
73+
// .catch((err) => new Error(err));
74+
75+
if (config.gtmPreviewModeURL) await page.goto(config.gtmPreviewModeURL);
76+
77+
if (config.mobile_enabled === true) {
78+
await page.emulate(iPhone);
79+
} else {
80+
await page.setViewport({ width: 1366, height: 768 });
81+
}
82+
83+
await page.exposeFunction('bowser', (event) => {
84+
bowserjr.validate(schema, event, function (result) {
85+
resultsArray.push(result[0]);
86+
});
8687
});
87-
});
88-
89-
async function runAfterGTMDebug() {
90-
page.on('load', async () => {
91-
await page.waitFor(5000);
92-
if (page.url() === config.url) {
93-
let path = `Url validating: ${page.url()}\n`;
94-
//doc.text(path, 10, 10);
95-
await page.evaluate(() => {
96-
//Validate first hits.
97-
window.dataLayer.forEach((elem) => {
98-
bowser(elem);
99-
});
100-
window.dataLayer.push_c = window.dataLayer.push;
101-
window.dataLayer.push = function (obj) {
102-
window.dataLayer.push_c(obj);
103-
bowser(obj);
104-
};
105-
});
106-
if (config.browserClose) {
107-
config.time ? await page.waitFor(config.time) : await page.waitFor(0);
108-
await browser.close();
109-
}
110-
} else {
111-
let path = `Path : ${page.url()}\n`;
112-
//doc.text(path, 10, 10);
113-
}
114-
});
115-
116-
await page.goto(config.url);
117-
}
11888

119-
await runAfterGTMDebug();
120-
121-
await fs.appendFile(filename, '', () => {});
122-
123-
let cleanupEval = () => {
124-
console.log('Realizing last eval');
125-
bowserjr.validate(schema, {}, function (result) {
126-
resultsArray.push(result[0]);
127-
});
128-
resultsArray.forEach((resultObject) => {
129-
if (resultObject) {
130-
resultObject.dataLayerObject = resultObject.dataLayerObject.replace(/(\r\n|\n|\r)/gm, '');
131-
resultObject.dataLayerObject = resultObject.dataLayerObject.replace(/\s/g, '');
132-
resultObject.dataLayerObject = resultObject.dataLayerObject.split(',').join(' ');
133-
fs.appendFileSync(
134-
filename,
135-
`${resultObject.status}, ${resultObject.message}, ${resultObject.dataLayerObject}\n`,
136-
(err) => {
89+
async function runAfterGTMDebug() {
90+
page.on('load', async () => {
91+
await page.waitFor(2000);
92+
if (page.url() === config.url) {
93+
await fs.appendFileSync(filename, `Url validating: ${page.url()}\n`, (err) => {
13794
if (err) throw err;
95+
});
96+
//doc.text(path, 10, 10);
97+
await page.evaluate(() => {
98+
//Validate first hits.
99+
window.dataLayer.forEach((elem) => {
100+
bowser(elem);
101+
});
102+
window.dataLayer.push_c = window.dataLayer.push;
103+
window.dataLayer.push = function (obj) {
104+
window.dataLayer.push_c(obj);
105+
bowser(obj);
106+
};
107+
});
108+
if (config.browserClose) {
109+
config.time ? await page.waitFor(config.time) : await page.waitFor(0);
110+
await browser.close();
138111
}
139-
);
140-
}
141-
});
142-
};
112+
} else {
113+
await fs.appendFileSync(filename, `Path : ${page.url()}\n`, (err) => {
114+
if (err) throw err;
115+
});
116+
//doc.text(path, 10, 10);
117+
}
118+
});
119+
120+
await page.goto(config.url);
121+
}
122+
123+
await runAfterGTMDebug();
124+
125+
await fs.appendFile(filename, '', () => {});
126+
127+
let cleanupEval = () => {
128+
console.log('Realizing last eval');
129+
bowserjr.validate(schema, {}, function (result) {
130+
resultsArray.push(result[0]);
131+
});
132+
resultsArray.forEach((resultObject) => {
133+
if (resultObject) {
134+
resultObject.dataLayerObject = resultObject.dataLayerObject.replace(/(\r\n|\n|\r)/gm, '');
135+
resultObject.dataLayerObject = resultObject.dataLayerObject.replace(/\s/g, '');
136+
resultObject.dataLayerObject = resultObject.dataLayerObject.split(',').join(' ');
137+
fs.appendFileSync(
138+
filename,
139+
`${resultObject.status}, ${resultObject.message}, ${resultObject.dataLayerObject}\n`,
140+
(err) => {
141+
if (err) throw err;
142+
}
143+
);
144+
}
145+
});
146+
};
143147

144-
process.on('exit', cleanupEval);
145-
})();
148+
await process.on('exit', cleanupEval);
149+
})();
150+
});

0 commit comments

Comments
 (0)