我是cypress.io的新手,正在尝试检查sessionStorage中的项目是否已设置。
如何检查sessionStorage中的项目是否存在?
我通过调用cy.wrap(sessionStorage.getItem('someItem')).should('exist');
进行了尝试,但是看起来好像是在初始化时设置了该值,因为在第一次测试中它说是expected null
,而在另一个测试中它期望使用旧的sessionStorage值(来自先前的测试)。
it('can set sessionItem', function() {
cy.visit('/handlerUrl')
// ... some code
cy.get('[type=submit]').click()
cy.url().should('include', '/anotherUrl')
cy.wrap(sessionStorage.getItem('someItem')).should('exist');
})
答案 0 :(得分:6)
您也可以使用
cy.window()
.its("sessionStorage")
.invoke("getItem", "token")
.should("exist");
答案 1 :(得分:0)
我不得不使用cy.window()
来获取当前活动页面的窗口对象。
cy.window().then(win=> {
const someItem = win.sessionStorage.getItem('someItem')
cy.wrap(someItem).should('exist') // or 'not.empty'
});
有关cy.window()
的更多信息可以在cypress.io documentation中找到。