Custom function in testcafe



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








2















So, i am trying to create a custom function that will allow me to check if a field contains a number or a text, but for further test i will need to check more complex stuff, like if the sum of some table equals something, etc.
I can't find examples of custom functions for example:






function isNumber(n) 
let a = parseInt(n);
if (a > 0
test('Test example', async t =>
await t
.expect(isNumber(Selector('#thisNum').innerText)).ok('This is a number' );

);












share|improve this question






























    2















    So, i am trying to create a custom function that will allow me to check if a field contains a number or a text, but for further test i will need to check more complex stuff, like if the sum of some table equals something, etc.
    I can't find examples of custom functions for example:






    function isNumber(n) 
    let a = parseInt(n);
    if (a > 0
    test('Test example', async t =>
    await t
    .expect(isNumber(Selector('#thisNum').innerText)).ok('This is a number' );

    );












    share|improve this question


























      2












      2








      2








      So, i am trying to create a custom function that will allow me to check if a field contains a number or a text, but for further test i will need to check more complex stuff, like if the sum of some table equals something, etc.
      I can't find examples of custom functions for example:






      function isNumber(n) 
      let a = parseInt(n);
      if (a > 0
      test('Test example', async t =>
      await t
      .expect(isNumber(Selector('#thisNum').innerText)).ok('This is a number' );

      );












      share|improve this question
















      So, i am trying to create a custom function that will allow me to check if a field contains a number or a text, but for further test i will need to check more complex stuff, like if the sum of some table equals something, etc.
      I can't find examples of custom functions for example:






      function isNumber(n) 
      let a = parseInt(n);
      if (a > 0
      test('Test example', async t =>
      await t
      .expect(isNumber(Selector('#thisNum').innerText)).ok('This is a number' );

      );








      function isNumber(n) 
      let a = parseInt(n);
      if (a > 0
      test('Test example', async t =>
      await t
      .expect(isNumber(Selector('#thisNum').innerText)).ok('This is a number' );

      );





      function isNumber(n) 
      let a = parseInt(n);
      if (a > 0
      test('Test example', async t =>
      await t
      .expect(isNumber(Selector('#thisNum').innerText)).ok('This is a number' );

      );






      javascript automated-tests e2e-testing testcafe






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 14 '18 at 11:45









      Alex Skorkin

      2,35221736




      2,35221736










      asked Nov 13 '18 at 8:19









      juandiegolesjuandiegoles

      858




      858






















          1 Answer
          1






          active

          oldest

          votes


















          7














          The assertion message will only be displayed when the assertion fails (refer to the message parameter). For example,



          await t
          .expect(failingValue).ok('failingValue is not a number');


          Would display something like the following on a failed test:



          1) AssertionError: failingValue is not a number: expected false to be truthy


          Therefore, I'd never expected to see the "This is a number" message displayed.



          As for the function, I've experienced a couple of instances where the promise wasn't resolved yet, so try awaiting the number selector:



          await t
          .expect(isNumber(await Selector('#thisNum').innerText)).ok('This is a number');


          Hope this helps.






          share|improve this answer

























          • Thanks Alex! At the end i decided to use cypress.js but your solution seems to work as a charm

            – juandiegoles
            Nov 19 '18 at 10:32











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53276627%2fcustom-function-in-testcafe%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          7














          The assertion message will only be displayed when the assertion fails (refer to the message parameter). For example,



          await t
          .expect(failingValue).ok('failingValue is not a number');


          Would display something like the following on a failed test:



          1) AssertionError: failingValue is not a number: expected false to be truthy


          Therefore, I'd never expected to see the "This is a number" message displayed.



          As for the function, I've experienced a couple of instances where the promise wasn't resolved yet, so try awaiting the number selector:



          await t
          .expect(isNumber(await Selector('#thisNum').innerText)).ok('This is a number');


          Hope this helps.






          share|improve this answer

























          • Thanks Alex! At the end i decided to use cypress.js but your solution seems to work as a charm

            – juandiegoles
            Nov 19 '18 at 10:32















          7














          The assertion message will only be displayed when the assertion fails (refer to the message parameter). For example,



          await t
          .expect(failingValue).ok('failingValue is not a number');


          Would display something like the following on a failed test:



          1) AssertionError: failingValue is not a number: expected false to be truthy


          Therefore, I'd never expected to see the "This is a number" message displayed.



          As for the function, I've experienced a couple of instances where the promise wasn't resolved yet, so try awaiting the number selector:



          await t
          .expect(isNumber(await Selector('#thisNum').innerText)).ok('This is a number');


          Hope this helps.






          share|improve this answer

























          • Thanks Alex! At the end i decided to use cypress.js but your solution seems to work as a charm

            – juandiegoles
            Nov 19 '18 at 10:32













          7












          7








          7







          The assertion message will only be displayed when the assertion fails (refer to the message parameter). For example,



          await t
          .expect(failingValue).ok('failingValue is not a number');


          Would display something like the following on a failed test:



          1) AssertionError: failingValue is not a number: expected false to be truthy


          Therefore, I'd never expected to see the "This is a number" message displayed.



          As for the function, I've experienced a couple of instances where the promise wasn't resolved yet, so try awaiting the number selector:



          await t
          .expect(isNumber(await Selector('#thisNum').innerText)).ok('This is a number');


          Hope this helps.






          share|improve this answer















          The assertion message will only be displayed when the assertion fails (refer to the message parameter). For example,



          await t
          .expect(failingValue).ok('failingValue is not a number');


          Would display something like the following on a failed test:



          1) AssertionError: failingValue is not a number: expected false to be truthy


          Therefore, I'd never expected to see the "This is a number" message displayed.



          As for the function, I've experienced a couple of instances where the promise wasn't resolved yet, so try awaiting the number selector:



          await t
          .expect(isNumber(await Selector('#thisNum').innerText)).ok('This is a number');


          Hope this helps.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 14 '18 at 11:46









          Alex Skorkin

          2,35221736




          2,35221736










          answered Nov 13 '18 at 21:18









          lostlemonlostlemon

          44635




          44635












          • Thanks Alex! At the end i decided to use cypress.js but your solution seems to work as a charm

            – juandiegoles
            Nov 19 '18 at 10:32

















          • Thanks Alex! At the end i decided to use cypress.js but your solution seems to work as a charm

            – juandiegoles
            Nov 19 '18 at 10:32
















          Thanks Alex! At the end i decided to use cypress.js but your solution seems to work as a charm

          – juandiegoles
          Nov 19 '18 at 10:32





          Thanks Alex! At the end i decided to use cypress.js but your solution seems to work as a charm

          – juandiegoles
          Nov 19 '18 at 10:32



















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53276627%2fcustom-function-in-testcafe%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

          Edmonton

          Crossroads (UK TV series)