I need feature1.feature to run three times as displayed in cypress.config.js . But while running
npx cypress run --config-file cypress.config.js `feature1.feature 仅运行一次。有什么方法可以更新配置文件以运行所有 feature1.feature.
const { defineConfig } = require("cypress");
const cucumber = require("cypress-cucumber-preprocessor").default;
module.exports = defineConfig({
env: {
url: "https://dev-abc.com/",
},
e2e: {
setupNodeEvents(on, config) {
on('file:preprocessor', cucumber())
},
specPattern:
[
"**/feature1.feature",
"**/feature2.feature",
"**/feature3.feature",
"**/feature1.feature",
"**/feature4.feature",
"**/feature1.feature"
],
testIsolation: false
},
defaultCommandTimeout: 10000,
videosFolder: 'cypress/reports/folder1/mochawesome/videos',
screenshotsFolder: 'cypress/reports/folder1/mochawesome/screenshots',
reporter: "mochawesome",
sample: "value",
reporterOptions: {
reportDir: 'cypress/reports/folder1/mochawesome/logs',
overwrite: false,
html: false,
json: true,
},
});
我猜因为
specPattern
是一种模式,当赛普拉斯对其进行评估时,您只能在要运行的(内部)规范列表中获得 feature1
一次。
您可以在 CLI 中尝试使用逗号分隔的列表
cypress run --spec "cypress/e2e/feature1.feature,cypress/e2e/feature1.feature"
看看是否会调用它两次。
稍微不那么麻烦的是创建一个“索引”测试
功能列表.功能
import "**/feature1.feature"
import "**/feature2.feature"
import "**/feature3.feature"
import "**/feature1.feature"
import "**/feature4.feature"
import "**/feature1.feature"
这适用于普通 js 测试,也许也适用于黄瓜。
我必须补充一点,在测试运行中重复测试似乎有点奇怪,除非您将它们耦合起来 - 这通常是一种不好的做法。
如果这就是您正在做的事情,我建议您忘记这个问题,而是询问如何在其他测试中重用测试的部分内容。