我面临赛普拉斯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},但此方法不起作用。我也尝试将搜索结果嵌入表单中,但这也没有效果