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

104
Views
Cómo automatizar pruebas negativas y positivas usando ciprés

Necesito automatizar la parte positiva y la parte negativa de la interfaz de usuario, por ejemplo, selecciono la sección de inicio de sesión, aquí mi código

 it('login is not correct',function(){ cy.contains('Invalid Username or Password').should('not.exist') cy.get('input[type = "text"]').type('admins') cy.get('input[type = "password"]').type('admins') cy.get('.MuiButton-label').contains('LOGIN').should('be.visible').click() cy.contains('Invalid Username or Password').should('exist') }) it('The correct login page',function(){ cy.get('input[type = "text"]').type('admin') cy.get('input[type = "password"]').type('admin') cy.get('.MuiButton-label').contains('LOGIN').should('be.visible').click() })

revisa la interfaz de usuario

mi pregunta es como verificar pruebas tanto positivas como negativas

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

0

Su prueba de inicio de sesión incorrecto parece correcta ya que está validando el mensaje de error.

 it("login is not correct", function () { cy.contains("Invalid Username or Password").should("not.exist") cy.get('input[type = "text"]').type("admins") cy.get('input[type = "password"]').type("admins") cy.get(".MuiButton-label").contains("LOGIN").should("be.visible").click() cy.contains("Invalid Username or Password").should("exist") })

Para un inicio de sesión correcto, debe afirmar algún elemento de la página que obtiene después de un inicio de sesión exitoso. Una buena manera sería hacer valer el admin de nombre de usuario

 it('The correct login page',function(){ cy.get('input[type = "text"]').type('admin') cy.get('input[type = "password"]').type('admin') cy.get('.MuiButton-label').contains('LOGIN').should('be.visible').click() cy.get('selector').should('have.text', 'admin') //assert the username admin on the webpage })

Usando if-else. Pero no recomendaré esta solución porque estamos usando una espera personalizada después del inicio de sesión, porque no sabemos cuánto tiempo tomará completar la acción de inicio de sesión y darnos los comentarios que fallaron o pasaron y esto puede conducir a pruebas escamosas. Entonces, en mi opinión, cubrir dos escenarios en dos pruebas diferentes es un enfoque de prueba mejor y más completo.

 it("Login Functionality", function () { cy.get('input[type = "text"]').type("admin") cy.get('input[type = "password"]').type("admin") cy.get(".MuiButton-label").contains("LOGIN").should("be.visible").click() cy.wait(2000) //wait cy.get("body").then((body) => { if (body.find("selector of error message").length > 0) { //Login Failed expect("selector of error message").to.have.text("Invalid Username or Password") } else { //Login Passed expect("selector").to.have.text("admin") } }) })
about 4 years ago · Juan Pablo Isaza Report

0

Su prueba negativa es buena, pero cambiaría cy.contains('Invalid Username or Password').should('exist') a cy.contains('Invalid Username or Password').should('be.visible') para afirmar que el mensaje de error es visible para el usuario en lugar de existir en el DOM.

Para la prueba positiva, puede agregar fácilmente una afirmación en el nombre de la ruta (es decir cy.location('pathname').should('include','/userHomeProfile/')

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!