Cypress - 如何获取单个测试的数据,如标题、状态等
Posted
技术标签:
【中文标题】Cypress - 如何获取单个测试的数据,如标题、状态等【英文标题】:Cypress - How to get data of individual test like its title, state etc 【发布时间】:2022-01-15 20:55:34 【问题描述】:我正在尝试获取有关赛普拉斯中单个测试的数据,例如标题、状态等,以便我可以创建自定义报告器。但是 forEach 中的以下选项都不起作用。它返回未定义,但是当我传递像“abcd”这样的普通字符串时,它会打印在控制台上。那么如何获取测试的属性。
first.spec.js
/// <reference types="cypress" />
context('Actions', () =>
afterEach(()=>
const testData = cy.state('runnable').currentTest;
cy.task('testOutput', title: testData.title, state: testData.state, fullTitle: testData.fullTitle());
// also tried
// Cypress.on('test:after:run', (test, runnable)=>
//cy.task('testOutput', title: runnable.title, state:runnable.state, fullTitle: runnable.fullTitle());
//);
);
it('test 1',()=>
const assets = Cypress.env('assetoverride');
cy.getVar(assets);
)
);
插件/index.js
module.exports = (on, config) =>
on('task',
testOutput(title, state, fullTitle)
console.log(`Test $fullTitle - $state - $title`)
return null;
);
【问题讨论】:
【参考方案1】:如果您在本地执行测试,您可以通过运行命令以无忧模式运行它们:
npx cypress run --spec "e2e/integration/NameOfYourTestFile.spec.js" --browser chrome --headless
这样您将在终端中获得包含结果的表格: enter image description here
【讨论】:
以上是关于Cypress - 如何获取单个测试的数据,如标题、状态等的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Cypress.io 中等待 WebSocket STOMP 消息
Cypress web自动化35-cy.exec()执行python命令操作数据库