Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

256
Views
Javascript: Cypress: select sample with not contain value

I want to select a random value from a dropdown, with the restriction that a specific value should not be selected.

    const initialOrderReason = cy.xpath("//tbody/tr[1]/td[4]");
    tkm
      .dropdownOptions()
      .should("be.visible")
      .then((options) => {
        cy.get(Cypress._.sample(options))
          .not.contain(initialOrderReason)
      });

how is it possible?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

There's a lot relevant code that you have not shown, including the HTML but here's my solution based on what you've given

cy.xpath("//tbody/tr[1]/td[4]") should be accessed it via .then() instead of the returned value.

And for all elements extract the text of the elements.

cy.xpath('//tbody/tr[1]/td[4]')
  .invoke('text')                   // extract text
  .then(initial => {

  tkm.dropdownOptions().should("be.visible")
    .then((options) => {
      const texts = [...options].map(option => option.innerText)    // extract texts

      const notInitial = texts.filter(text => text !== initial)     // filter out initial

      const random = Cypress._.sample(notInitial)   // random other value
      
      // Assuming "//tbody/tr[1]/td[4]" gives a <select> element
      cy.xpath('//tbody/tr[1]/td[4]').select(random)

    });

  cy.xpath('//tbody/tr[1]/td[4]')       // requery the dropdown
    .should("not.have.text", initial);  // to allow DOM to change 
})
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!