You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I try to .setValue on an element that does not exist, I do not get a stackTrace this breaks at. This is more irritating if the .setValue call is in a pageObject
See the #purposelyBroken and setPurposelyBroken() lines below
// Filename: examples/tests/googlePageObject.jsmodule.exports={'Demo Google search test using page objects' : function(client){varhomePage=client.page.home();homePage.navigate();homePage.expect.element('@searchBar').to.be.enabled;homePage.setValue('@searchBar','Nightwatch.js');homePage.submit();homePage.setValue('#purposelyBroken',"Purposely Broken");homePage.setPurposelyBroken();// calls setValue from a pageObjectvarresultsPage=client.page.searchResults();resultsPage.expect.element('@results').to.be.present.after(2000);resultsPage.expect.element('@results').to.contain.text('Nightwatch.js');resultsPage.expect.section('@menu').to.be.visible;varmenuSection=resultsPage.section.menu;menuSection.expect.element('@web').to.be.visible;menuSection.expect.element('@video').to.be.visible;menuSection.expect.element('@images').to.be.visible;menuSection.expect.element('@shopping').to.be.visible;menuSection.productIsSelected('@web',function(result){this.assert.ok(result,'Web results are shown by default on search results page');});client.end();}};
/Users/hench/git/nightwatch$ bin/nightwatch examples/tests/googlePageObject.js
[Tests/Google Page Object] Test Suite
=====================================
Running: Demo Google search test using page objects
✔ Expected element <Element [name=@searchBar]> to be enabled - condition was met in 24ms
Warning: More than one element (2) found for<Element [name=@submitButton]> with selector: "input[value="Google Search"]". Only the first one will be used.
✔ Element <input[value="Google Search"]> was visible after 541 milliseconds.
Error while running .locateSingleElement() protocol action: no such element: Unable to locate element: {"method":"css selector","selector":"#purposelyBroken"}
Error while running .locateSingleElement() protocol action: no such element: Unable to locate element: {"method":"css selector","selector":"#purposelyBroken"}
✔ Expected element <Element [name=@results]> to be present after 2000ms - element was present in 12ms
✔ Expected element <Element [name=@results]> text to contain: "Nightwatch.js" - condition was met in 172ms
✔ Expected element <Element [name=@menu]> to be visible - condition was met in 25ms
✔ Expected element <Section [name=menu],Element [name=@web[0]]> to be visible - condition was met in 38ms
✔ Expected element <Section [name=menu],Element [name=@video[0]]> to be visible - condition was met in 27ms
✔ Expected element <Section [name=menu],Element [name=@images[0]]> to be visible - condition was met in 26ms
✔ Expected element <Section [name=menu],Element [name=@shopping[0]]> to be visible - condition was met in 26ms
✔ Passed [ok]: Web results are shown by default on search results page
OK. 10 assertions passed. (5.198s)
expected output:
/Users/hench/git/nightwatch$ bin/nightwatch examples/tests/googlePageObject.js
[Tests/Google Page Object] Test Suite
=====================================
Running: Demo Google search test using page objects
✔ Expected element <Element [name=@searchBar]> to be enabled - condition was met in 24ms
Warning: More than one element (2) found for<Element [name=@submitButton]> with selector: "input[value="Google Search"]". Only the first one will be used.
✔ Element <input[value="Google Search"]> was visible after 537 milliseconds.
Error while running .locateSingleElement() protocol action: no such element: Unable to locate element: {"method":"css selector","selector":"#purposelyBroken"}
Error
at Command.executeCommand (/Users/hench/git/nightwatch/lib/page-object/command-wrapper.js:149:22)
at Page.setValue (/Users/hench/git/nightwatch/lib/page-object/command-wrapper.js:36:25)
at Object.Demo Google search test using page objects (/Users/hench/git/nightwatch/examples/tests/googlePageObject.js:9:14)
at Context.call (/Users/hench/git/nightwatch/lib/testsuite/context.js:203:32)
at TestCase.run (/Users/hench/git/nightwatch/lib/testsuite/testcase.js:49:31)
at Runnable.handleRunnable [as __runFn] (/Users/hench/git/nightwatch/lib/testsuite/testsuite.js:349:32)
at Runnable.run (/Users/hench/git/nightwatch/lib/testsuite/runnable.js:123:21)
at TestSuite.createRunnable (/Users/hench/git/nightwatch/lib/testsuite/testsuite.js:416:33)
at TestSuite.handleRunnable (/Users/hench/git/nightwatch/lib/testsuite/testsuite.js:420:17)
at createSession.then.then._ (/Users/hench/git/nightwatch/lib/testsuite/testsuite.js:348:21)
Error while running .locateSingleElement() protocol action: no such element: Unable to locate element: {"method":"css selector","selector":"#purposelyBroken"}
Error
at Command.executeCommand (/Users/hench/git/nightwatch/lib/page-object/command-wrapper.js:149:22)
at Page.setValue (/Users/hench/git/nightwatch/lib/page-object/command-wrapper.js:36:25)
at Page.setPurposelyBroken (/Users/hench/git/nightwatch/examples/pages/home.js:10:10)
at Object.Demo Google search test using page objects (/Users/hench/git/nightwatch/examples/tests/googlePageObject.js:10:14)
at Context.call (/Users/hench/git/nightwatch/lib/testsuite/context.js:203:32)
at TestCase.run (/Users/hench/git/nightwatch/lib/testsuite/testcase.js:49:31)
at Runnable.handleRunnable [as __runFn] (/Users/hench/git/nightwatch/lib/testsuite/testsuite.js:349:32)
at Runnable.run (/Users/hench/git/nightwatch/lib/testsuite/runnable.js:123:21)
at TestSuite.createRunnable (/Users/hench/git/nightwatch/lib/testsuite/testsuite.js:416:33)
at TestSuite.handleRunnable (/Users/hench/git/nightwatch/lib/testsuite/testsuite.js:420:17)
✔ Expected element <Element [name=@results]> to be present after 2000ms - element was present in 15ms
✔ Expected element <Element [name=@results]> text to contain: "Nightwatch.js" - condition was met in 216ms
✔ Expected element <Element [name=@menu]> to be visible - condition was met in 25ms
✔ Expected element <Section [name=menu],Element [name=@web[0]]> to be visible - condition was met in 41ms
✔ Expected element <Section [name=menu],Element [name=@video[0]]> to be visible - condition was met in 27ms
✔ Expected element <Section [name=menu],Element [name=@images[0]]> to be visible - condition was met in 28ms
✔ Expected element <Section [name=menu],Element [name=@shopping[0]]> to be visible - condition was met in 29ms
✔ Passed [ok]: Web results are shown by default on search results page
OK. 10 assertions passed. (5.154s)
The text was updated successfully, but these errors were encountered:
If I try to
.setValue
on an element that does not exist, I do not get a stackTrace this breaks at. This is more irritating if the.setValue
call is in a pageObjectSee the
#purposelyBroken
andsetPurposelyBroken()
lines belowactual output:
expected output:
The text was updated successfully, but these errors were encountered: