赛普拉斯(cypress):cy.click()失败,因为此元素与DOM分离

时间:2020-06-04 12:06:29

标签: cypress

我面临赛普拉斯4.7.0的问题。以下是我尝试在网站Automationpractice.com上自动执行用户创建方案时得到的错误代码

cy.click()失败,因为此元素与DOM分离。

Cypress要求将元素附加在DOM中才能与它们交互。

先前运行的命令是:

cy.get()

此DOM元素很可能在上一个命令和当前命令之间的某个位置分离。

发生这种情况的常见情况: -您的JS框架以异步方式重新渲染 -您的应用代码对事件触发做出了反应,并删除了该元素

上述情况的代码为

    describe('Cypress demo script', ()=>{

    it('triage DOM issue',()=>{
        const uuid = () => Cypress._.random(0, 1e6)
        const id = uuid()

        cy.visit('http://automationpractice.com/index.php')
        cy.wait(2000)
        cy.contains('Sign in').click()
        const email ="tester"+id+"@yopmail.com"            
        cy.get('#email_create').type(email)
        cy.get('#SubmitCreate > span').click()

        cy.get('form#account-creation_form').within(($form1)=>{
            cy.get('input#id_gender1').click()            
            cy.get('input#customer_firstname').type('Automation')
            cy.get('input#customer_lastname').type('tester')
            cy.get('input#passwd').click({force:true}).type('Qwerty@123')

        });

    })
})

根据搜索结果,建议使用{force:true},但此方法不起作用。我也尝试将搜索结果嵌入表单中,但这也没有效果

0 个答案:

没有答案