是否可以将 beforeEach 和 afterEach 赛普拉斯的挂钩组合成自定义命令?
Is it possible to combine beforeEach & afterEach Cypress's hooks into a custom command?
是否可以组合在 beforeEach
和 afterEach
挂钩中触发的自定义命令?我目前正在使用 cypress-localstorage-commands
plugin 像这样:
beforeEach(() => {
cy.restoreLocalStorage();
});
afterEach(() => {
cy.saveLocalStorage();
});
有没有办法将其抽象为 custom command
,这样我就不需要添加这些 hooks
或在每个 spec
文件中重复使用此代码?
我不是赛普拉斯方面的专家,但所有测试库都必须遵守 Javascript 的规则:它们的“特殊功能”(如 beforeEach
/afterEach
) 仍然只是 Javascript 个函数。
因此,我 相信 如果你想创建一个同时添加 beforeEach
和 afterEach
的函数,它应该像下面这样简单:
const addBoth = () => {
beforeEach(() => {
cy.restoreLocalStorage();
});
afterEach(() => {
cy.saveLocalStorage();
});
};
然后您只需调用:
addBoth();
任何你想添加的地方。这应该适用于 any JS 库(测试或其他),除非它在幕后做一些涉及函数范围的非常聪明的事情(例如 React hooks)。
是否可以组合在 beforeEach
和 afterEach
挂钩中触发的自定义命令?我目前正在使用 cypress-localstorage-commands
plugin 像这样:
beforeEach(() => {
cy.restoreLocalStorage();
});
afterEach(() => {
cy.saveLocalStorage();
});
有没有办法将其抽象为 custom command
,这样我就不需要添加这些 hooks
或在每个 spec
文件中重复使用此代码?
我不是赛普拉斯方面的专家,但所有测试库都必须遵守 Javascript 的规则:它们的“特殊功能”(如 beforeEach
/afterEach
) 仍然只是 Javascript 个函数。
因此,我 相信 如果你想创建一个同时添加 beforeEach
和 afterEach
的函数,它应该像下面这样简单:
const addBoth = () => {
beforeEach(() => {
cy.restoreLocalStorage();
});
afterEach(() => {
cy.saveLocalStorage();
});
};
然后您只需调用:
addBoth();
任何你想添加的地方。这应该适用于 any JS 库(测试或其他),除非它在幕后做一些涉及函数范围的非常聪明的事情(例如 React hooks)。