@@ -20,7 +20,6 @@ builder.selenium2.io.addLangFormatter({
2020 " * $driver - Main WebDriver public API module\n" +
2121 " * $http - 'request' node.js module (for making HTTP requests)\n" +
2222 " * $util - Common tools to aid with grunt work\n" +
23- " * $Synthetics - The main Synthetics API module\n" +
2423 " *\n" +
2524 " * Feel free to explore, or check out the full documentation for details:\n" +
2625 " * https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/scripting-monitors/writing-scripted-browsers\n" +
@@ -50,6 +49,7 @@ builder.selenium2.io.addLangFormatter({
5049 " return true;\n" +
5150 " } catch (err) { return false; }\n" +
5251 "}\n" +
52+ "function isElementSelected(el) { return $browser.findElement(el).isSelected(); }\n" +
5353 "function isTextPresent(text) {\n" +
5454 " return $browser.findElement(By.tagName('html')).getText()\n" +
5555 " .then(function (wholetext) {\n" +
@@ -126,8 +126,7 @@ builder.selenium2.io.addLangFormatter({
126126 " log('{stepTypeName} {locator}');\n" +
127127 " return $browser.waitForAndFindElement(By.{locatorBy}({locator}), DefaultTimeout); })\n" +
128128 ".then(function (el) {\n" +
129- " $browser.actions().mouseMove(el, {offset}).perform();\n" +
130- " $browser.actions().click().perform(); })\n\n" ,
129+ " $browser.actions().mouseMove(el, {offset}).click().perform(); })\n\n" ,
131130 "setElementText" :
132131 ".then(function () {\n" +
133132 " log('{stepTypeName} {locator}');\n" +
@@ -145,13 +144,13 @@ builder.selenium2.io.addLangFormatter({
145144 " log('{stepTypeName} {locator}');\n" +
146145 " return $browser.waitForAndFindElement(By.{locatorBy}({locator}), DefaultTimeout); })\n" +
147146 ".then(function(el) { return el.isSelected(); })\n" +
148- ".then(function (bool) { if(!bool) { $browser.actions().click(By.{locatorBy}({locator})).perform(); } })\n\n" ,
147+ ".then(function(bool) { if (!bool) { $browser.actions().click($browser.findElement( By.{locatorBy}({locator}) )).perform(); } })\n\n" ,
149148 "setElementNotSelected" :
150149 ".then(function () {\n" +
151150 " log('{stepTypeName} {locator}');\n" +
152151 " return $browser.waitForAndFindElement(By.{locatorBy}({locator}), DefaultTimeout); })\n" +
153152 ".then(function(el) { return el.isSelected(); })\n" +
154- ".then(function (bool) { if(bool) { $browser.actions().click(By.{locatorBy}({locator})).perform(); } })\n\n" ,
153+ ".then(function(bool) { if (bool) { $browser.actions().click($browser.findElement( By.{locatorBy}({locator}) )).perform(); } })\n\n" ,
155154 "clearSelections" :
156155 ".then(function () {\n" +
157156 " log('{stepTypeName} {locator}');\n" +
@@ -240,6 +239,7 @@ builder.selenium2.io.addLangFormatter({
240239 " {getter}\n" +
241240 " if ({value} == {cmp}) {\n" +
242241 " console.log('!{stepTypeName} failed');\n" +
242+ " $browser.takeScreenshot();\n" +
243243 " }\n" +
244244 "{getterFinish}" , getter ) ;
245245 } else {
@@ -249,6 +249,7 @@ builder.selenium2.io.addLangFormatter({
249249 " {getter}\n" +
250250 " if ({value} != {cmp}) {\n" +
251251 " console.log('{stepTypeName} failed');\n" +
252+ " $browser.takeScreenshot();\n" +
252253 " }\n" +
253254 "{getterFinish}" , getter ) ;
254255 }
@@ -356,8 +357,8 @@ builder.selenium2.io.addLangFormatter({
356357 " log('{stepTypeName} {negNot}{value}');\n" +
357358 " {getter}.then(function (bool) {\n" +
358359 " if ({posNot}bool) {\n" +
359- " $browser.quit(null);\n" +
360360 " log('{negNot}{stepTypeName} failed');\n" +
361+ " $browser.takeScreenshot();\n" +
361362 " }\n" +
362363 " });\n" +
363364 "{getterFinish}" ,
@@ -370,7 +371,8 @@ builder.selenium2.io.addLangFormatter({
370371 "})\n\n" ,
371372 boolean_store :
372373 ".then(function () {\n" +
373- " ${{variable}} = {getter};\n" +
374+ " log('{stepTypeName} ${{variable}}');\n" +
375+ " {getter}.then(function (bool) { ${{variable}} = bool; });\n" +
374376 "{getterFinish}" ,
375377 boolean_getters : {
376378 "TextPresent" : {
@@ -384,7 +386,7 @@ builder.selenium2.io.addLangFormatter({
384386 value : "{locator}"
385387 } ,
386388 "ElementSelected" : {
387- getter : "$browser.findElement (By.{locatorBy}({locator})).isSelected( )" ,
389+ getter : "isElementSelected (By.{locatorBy}({locator}))" ,
388390 getterFinish : "})\n\n" ,
389391 value : "{locator}"
390392 } ,
0 commit comments