Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

100
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda