Skip to content

Commit f982aed

Browse files
committed
Lots of improvements
* Cleaning up log function * (Get|Set|Verify|Assert)CookiesByName now works! * Verify & assert functions more consistent & verbose
1 parent da9c344 commit f982aed

File tree

1 file changed

+27
-23
lines changed

1 file changed

+27
-23
lines changed

nr_synthetics_formatter/nr-synthetics.js

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,36 +30,33 @@ builder.selenium2.io.addLangFormatter({
3030
"// Change to any User Agent you want to use.\n" +
3131
"// Leave as \"default\" or empty to use the Synthetics default.\n" +
3232
"var UserAgent = \"default\";\n\n" +
33-
"/** HELPER FUNCTIONS **/\n\n" +
33+
"/** HELPER VARIABLES AND FUNCTIONS **/\n\n" +
3434
"var assert = require('assert'),\n" +
3535
" By = $driver.By,\n" +
36+
" browser = $browser.manage(),\n" +
3637
" thisStep = 0,\n" +
3738
" startTime = Date.now(),\n" +
3839
" stepStartTime = Date.now(),\n" +
39-
" totalElapsedTime = 0,\n" +
4040
" lastMsg = '',\n" +
41-
" VARS = {};\n" +
42-
"\n" +
41+
" VARS = {};\n\n" +
4342
"var log = function(msg) {\n" +
44-
" totalElapsedTime = Date.now() - startTime;\n" +
4543
" if (thisStep > 0) {\n" +
46-
" var lastStepTimeElapsed = totalElapsedTime - stepStartTime;\n" +
44+
" var lastStepTimeElapsed = Date.now() - (startTime + stepStartTime);\n" +
4745
" console.log('Step ' + thisStep + ': ' + lastMsg + ' FINISHED. It took ' + lastStepTimeElapsed + 'ms to complete.');\n" +
4846
" $util.insights.set('Step ' + thisStep + ': ' + lastMsg, lastStepTimeElapsed);\n" +
4947
" }\n" +
5048
" thisStep++;\n" +
5149
" stepStartTime = Date.now() - startTime;\n" +
5250
" console.log('Step ' + thisStep + ': ' + msg + ' STARTED at ' + stepStartTime + 'ms.');\n" +
5351
" lastMsg = msg;\n" +
54-
" };\n" +
55-
"\n" +
52+
" };\n\n" +
5653
"log('init');\n" +
5754
"function isAlertPresent() {\n" +
5855
" try {\n" +
5956
" var thisAlert = $browser.switchTo().alert();\n" +
6057
" return true;\n" +
6158
" } catch (err) { return false; }\n" +
62-
"}\n" +
59+
"}\n\n" +
6360
"function isElementSelected(el) { return $browser.findElement(el).isSelected(); }\n" +
6461
"function isTextPresentIn(text, sourceEl) {\n" +
6562
" return sourceEl.getText()\n" +
@@ -72,7 +69,7 @@ builder.selenium2.io.addLangFormatter({
7269
"}\n\n" +
7370
"/** BEGINNING OF SCRIPT **/\n\n" +
7471
"// Setting User Agent is not then-able, so we do this first (if defined and not default)\n" +
75-
"if ((typeof UserAgent !== 'undefined') && (UserAgent != 'default')) {\n" +
72+
"if (UserAgent && (0 !== UserAgent.trim().length) && (UserAgent != 'default')) {\n" +
7673
" $browser.addHeader('User-Agent', UserAgent);\n" +
7774
" console.log('Setting User-Agent to ' + UserAgent);\n" +
7875
"}\n\n" +
@@ -202,11 +199,11 @@ lineForType: {
202199
});
203200
return ".then(function () {\n" +
204201
" log('addCookie " + data['name'] + ", " + data['value'] + "');\n" +
205-
" $browser.manage().addCookie('" + data['name'] + "', '" + data['value'] + "');\n" +
202+
" browser.addCookie('" + data['name'] + "', '" + data['value'] + "');\n" +
206203
"})\n\n";
207204
},
208205
"deleteCookie":
209-
function(step) { return scriptify("$browser.manage().deleteCookie(\"" + step.name + "\")"); },
206+
function(step) { return scriptify("browser.deleteCookie(\"" + step.name + "\")"); },
210207
"saveScreenshot":
211208
function(step) { return scriptify("$browser.takeScreenshot()"); },
212209
},
@@ -237,14 +234,14 @@ lineForType: {
237234
".then(function () {\n" +
238235
" log('{stepTypeName} {negNot}{cmp}');\n" +
239236
" {getter}\n" +
240-
" assert.notEqual({value}, {cmp}, '!{stepTypeName} failed');\n" +
237+
" assert.notEqual({value}, {cmp}, '{stepTypeName} {negNot}{cmp} FAILED.');\n" +
241238
"{getterFinish}", getter);
242239
} else {
243240
return doSubs(
244241
".then(function () {\n" +
245242
" log('{stepTypeName} {negNot}{cmp}');\n" +
246243
" {getter}\n" +
247-
" assert.equal({value}, {cmp}, '{stepTypeName} failed');\n" +
244+
" assert.equal({value}, {cmp}, '{stepTypeName} {negNot}{cmp} FAILED.');\n" +
248245
"{getterFinish}", getter);
249246
}
250247
},
@@ -255,8 +252,10 @@ lineForType: {
255252
" log('{stepTypeName} {negNot}{cmp}');\n" +
256253
" {getter}\n" +
257254
" if ({value} == {cmp}) {\n" +
258-
" console.log('!{stepTypeName} failed');\n" +
255+
" console.log('{stepTypeName} {negNot}{cmp} FAILED.');\n" +
259256
" $browser.takeScreenshot();\n" +
257+
" } else {\n" +
258+
" console.log('{stepTypeName} {negNot}{cmp} SUCCEEDED.');\n" +
260259
" }\n" +
261260
"{getterFinish}", getter);
262261
} else {
@@ -265,8 +264,10 @@ lineForType: {
265264
" log('{stepTypeName} {negNot}{cmp}');\n" +
266265
" {getter}\n" +
267266
" if ({value} != {cmp}) {\n" +
268-
" console.log('{stepTypeName} failed');\n" +
267+
" console.log('{stepTypeName} {negNot}{cmp} FAILED');\n" +
269268
" $browser.takeScreenshot();\n" +
269+
" } else {\n" +
270+
" console.log('{stepTypeName} {negNot}{cmp} SUCCEEDED.');\n" +
270271
" }\n" +
271272
"{getterFinish}", getter);
272273
}
@@ -275,7 +276,7 @@ lineForType: {
275276
".then(function () {\n" +
276277
" log('{stepTypeName} ${{variable}}');\n" +
277278
" {getter}\n" +
278-
" ${{variable}} = '' + {value};\n" +
279+
" ${{variable}} = {value};\n" +
279280
"{getterFinish}",
280281
getters: {
281282
"BodyText": {
@@ -340,11 +341,12 @@ lineForType: {
340341
value: "value"
341342
},
342343
"CookieByName": {
343-
getter: "return $browser.manage().getCookie({name}); })\n" +
344-
" .then(function (cookie) {",
344+
getter: "return browser.getCookie({name}); })\n" +
345+
" .then(function (cookie) { return cookie.value; })\n" +
346+
" .then(function (value) {",
345347
getterFinish: "})\n\n",
346348
cmp: "{value}",
347-
value: "cookie"
349+
value: "value"
348350
},
349351
"AlertText": {
350352
getter: "return $browser.switchTo().alert(); })\n" +
@@ -366,16 +368,18 @@ lineForType: {
366368
".then(function () {\n" +
367369
" log('{stepTypeName} {negNot}{value}');\n" +
368370
" {getter}.then(function (bool) {\n" +
369-
" assert.ok(({negNot}bool), '{stepTypeName} failed');\n" +
371+
" assert.ok(({negNot}bool), '{stepTypeName} FAILED.');\n" +
370372
" });\n" +
371373
"{getterFinish}",
372374
boolean_verify:
373375
".then(function () {\n" +
374376
" log('{stepTypeName} {negNot}{value}');\n" +
375377
" {getter}.then(function (bool) {\n" +
376378
" if ({posNot}bool) {\n" +
377-
" console.log('{negNot}{stepTypeName} failed');\n" +
379+
" console.log('{stepTypeName} FAILED.');\n" +
378380
" $browser.takeScreenshot();\n" +
381+
" } else {\n" +
382+
" console.log('{stepTypeName} SUCCEEDED.');\n" +
379383
" }\n" +
380384
" });\n" +
381385
"{getterFinish}",
@@ -408,7 +412,7 @@ lineForType: {
408412
value: "{locator}"
409413
},
410414
"CookiePresent": {
411-
getter: "$browser.manage().getCookie({name})",
415+
getter: "browser.getCookie({name}).then(function (cookie) { return cookie !== null; })",
412416
getterFinish: "})\n\n",
413417
value: "{name}"
414418
},

0 commit comments

Comments
 (0)