赛普拉斯为失败的测试添加上下文
Cypress adding context to failed tests
我想通过获取一些本地存储数据并记录下来,在每次失败时添加一些上下文......但我不太确定我该怎么做
在index.ts中我添加了
Cypress.on('fail', (error, runnable) => {})
然后我做了 const user = localStorage.getItem('user');
并尝试记录它,但现在运气好.. 猜想我需要异步获取它但无法让它工作:/
使用.log()
的同步版本。
我想在捕获失败事件之前队列停止 运行。
Cypress.on('fail', (error, runnable) => {
const user = localStorage.getItem('user')
Cypress.log({name: 'User', message: user})
})
it('', () => {
localStorage.setItem('user', 'my-user')
expect(1).to.eq(2)
})
我实际上是通过在我的 support/index.ts 文件中这样做来让它工作的...
Cypress.on('fail', (error) => {
const asyncLocalStorage = {
getItem(key) {
return Promise.resolve().then(function () {
return localStorage.getItem(key);
});
},
};
asyncLocalStorage.getItem('state').then((localStorageState) => {
const state = JSON.parse(localStorageState);
Cypress.log({
name: error.name,
message: error.message,
consoleProps: () => ({
'User Id': state?.user?.id,
members: state?.members,
message: error.message,
stack: error.stack,
}),
});
});
throw error;
});
我想通过获取一些本地存储数据并记录下来,在每次失败时添加一些上下文......但我不太确定我该怎么做
在index.ts中我添加了
Cypress.on('fail', (error, runnable) => {})
然后我做了 const user = localStorage.getItem('user');
并尝试记录它,但现在运气好.. 猜想我需要异步获取它但无法让它工作:/
使用.log()
的同步版本。
我想在捕获失败事件之前队列停止 运行。
Cypress.on('fail', (error, runnable) => {
const user = localStorage.getItem('user')
Cypress.log({name: 'User', message: user})
})
it('', () => {
localStorage.setItem('user', 'my-user')
expect(1).to.eq(2)
})
我实际上是通过在我的 support/index.ts 文件中这样做来让它工作的...
Cypress.on('fail', (error) => {
const asyncLocalStorage = {
getItem(key) {
return Promise.resolve().then(function () {
return localStorage.getItem(key);
});
},
};
asyncLocalStorage.getItem('state').then((localStorageState) => {
const state = JSON.parse(localStorageState);
Cypress.log({
name: error.name,
message: error.message,
consoleProps: () => ({
'User Id': state?.user?.id,
members: state?.members,
message: error.message,
stack: error.stack,
}),
});
});
throw error;
});