cy.select()在cy.session()之后断开(柏树10.09)



我想我发现了cy.session((的问题,但在GitHub中打开一个之前,我想听听你对我的问题本身的想法:

实现了cy.session((,它成功了!对于大多数页面。。。

问题是带有<选择>元素。session((实现后,cy.select((停止工作。它选择了正确的选项,然后直接返回到以前选择的选项。最奇怪的是,它甚至在DOM快照中都看不到。删除cy.session((使一切恢复正常。

所以,我的问题是:

感觉像柏树虫吗?有人遇到过这个问题并以某种方式解决了吗?无法想象cy.selecting元素与会话的关系。

编辑:

经过进一步的调查,我发现选择一个页面选项会改变一个特定的cookie值。这个cookie有页面类型代码,因此我认为新值不会像以前那样保存到没有cy.session((的cookie中

在浏览器中从cyprus open手动选择也不起作用!发现后,我很确定这是柏树虫。

按照要求,这是我的代码:

commands.ts

Cypress.Commands.add('login', (user: User) => {
return cy.session(
[user.api_key],
() => {
cy.request({
...
});
},
{
validate() {
cy.visit('/');
cy.contains(user.username, { matchCase: false });
},
cacheAcrossSpecs: true,
}
);
});

e2e.ts

beforeEach(() => {
cy.getCurrentUser().then((user) => {
cy.login(user);
});
});

此问题在Cypress 10.10中得到解决!

在柏树的GitHub中打开问题并得到答案:

https://github.com/cypress-io/cypress/issues/24149

最新更新