我有100个测试用例,其中一些属于冒烟,回归或两者兼有。赛普拉斯本身不提供任何标记机制,我该如何过滤测试它们?
我尝试过
但是他们都没有为我工作。如果有人有这些软件包的工作示例,请进行指导。
还有其他方法可以过滤测试吗?
答案 0 :(得分:2)
创建一个名为test-filter.ts的模块,该模块基本上根据提供的标签过滤您的赛普拉斯测试。
/// <reference types="Cypress" />
const TestFilter = (definedTags: string[], runTest: Function) => {
if (Cypress.env('TEST_TAGS')) {
const tags = Cypress.env('TEST_TAGS').split(',');
const isFound = definedTags.some(definedTag => tags.includes(definedTag));
if (isFound) {
runTest();
}
}
};
export default TestFilter;
将以上文件导入您的规范文件:
/// <reference types="Cypress" />
import TestFilter from '../../test-filter';
TestFilter(['smoke', 'test'], () => {
describe('Taboola', () => {
beforeEach(() => {
cy.viewport('macbook-13');
});
it('should exist on an article page', () => {
cy.visit(Cypress.env('TEST_ARTICLE'));
cy.waitForAdRequest();
cy.get('div[data-mode="Feeder"]').should('exist');
cy.get('div[data-mode="alternating-thumbnails-a"]').should('exist');
});
});
});
执行测试的方式为:
CYPRESS_TEST_TAGS=smoke npm run cy:run:local:dev
文章引用- https://www.mariedrake.com/post/using-tags-to-filter-your-cypress-tests