赛普拉斯e2e测试。无法获取priming toast元素以获取文本

时间:2018-12-14 05:27:47

标签: cypress

我正在使用cypress进行e2e测试,并且收到了tong吐司消息。我希望文本出现在吐司中,但是当我触发吐司并尝试获取元素时,却无法获取元素。

primeng吐司链接:-https://www.primefaces.org/primeng/#/toast

1 个答案:

答案 0 :(得分:0)

测试Toast消息有点棘手,因为toast消息将仅持续几秒钟。在这种情况下,您可能会添加cy.wait()。我在这里注意到的另一个问题是以下站点https://www.primefaces.org/primeng/#/toast在加载cypress chrome 70浏览器时出现了一些延迟。我添加了一些测试,用于测试吐司内部的SuccessError消息文本。添加了通过测试的屏幕截图。

describe('Find the toast message', function() {
   it('Test the toast message', function() {
    cy.visit('https://www.primefaces.org/primeng/#/toast')
    cy.get('button[label="Success"]').find('span').contains("Success").click({force:true})
    cy.wait(1000)
    cy.get('div.ui-toast-detail').invoke('text')
     .then((text)=>{
       const toastText = text;
       expect(toastText).to.equal("Order submitted");
     })
    cy.wait(1000)
     cy.get('button[label="Error"]').find('span').contains("Error").click({force:true})
     cy.wait(1000)
     cy.get('.ui-toast-message-content').find('div').find('div').contains("Validation failed").invoke('text')
      .then((text)=>{
        const toastText = text;
        expect(toastText).to.equal("Validation failed");
      })
   })
})

enter image description here