我有一个简单的规范,可以访问网站并按以下方式登录:
it ('Visits the site as logged in user', function () {
cy.visit('http://example.com')
cy.get('#username').type(Cypress.env('username'))
cy.get('#password').type(Cypress.env('password'))
cy.get('#submit').click()
cy.contains('logout')
})
当我自己运行它时,它可以正常工作。我制作第二个规格文件,并复制第一个规格文件的内容。现在,我有2个规格可以完成相同的操作。如果我运行npx cypress open
并运行所有规格,则两个规格都将成功运行。但是我做了npx cypress run
,然后第二个规范失败了,因为cookie或会话或某些内容尚未清除,并且在访问该网站时它已经登录,因此不会显示登录页面。
从我阅读过的cookie来看,我认为应该在规范之间清除所有其他内容。我认为open
和run
之间的区别也应保持一致(请注意,使用--headed
选项运行不会改变run
的行为)。>
我已尝试在测试之前同时执行两个cy.clearCookies() and cy.clearLocalStorage()
,但这并没有改变。
其他人是否遇到过类似的问题,并且知道如何解决?