Skip to content
Advertisement

How add two values[1,2 elements] and verify its equal to result[3 element]

I need to verify if the sum of two elements is equal to the result shown on the UI. Below is the html structure for the three elements and need to do the calculation on the h1 tags. enter image description here

Below is the code I am trying to execute but nothing comes up in the test. The test runs and passes but nothing in the body.

it.only(' Verify Sum Of Active and Paused Jobs is Equal To Total Jobs Count ', () => {
    function activejobnumber() {
    return cy.get('[data-cy="jobSummaryActiveJobsStatTitle"]>h1')
    .invoke('text').then(parseInt).as('actnum');
      
    }

    function pausedjobnumber() {
      return cy.get('[data-cy="jobSummaryPausedJobsStatTitle"] > h1')
     .invoke('text').then(parseInt).as('pasnum');
      
    }
    function add() {
      const totaljobs = activejobnumber() + pausedjobnumber();
      cy.log(totaljobs);
    }
  });

Also, if someone could point out why it isn’t working, would really appreciate it.

Advertisement

Answer

You can directly invoke text, convert them to numbers and add it like this:

cy.get('[data-cy="jobSummaryActiveJobsStatTitle"]>h1')
  .invoke('text')
  .then((actnum) => {
    cy.get('[data-cy="jobSummaryPausedJobsStatTitle"] > h1')
      .invoke('text')
      .then((pasnum) => {
        //Adding + converts string to number
        const totaljobs = +actnum + +pasnum
        cy.log(totaljobs)
      })
  })
User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement