【发布时间】:2021-11-23 04:08:10
【问题描述】:
我在夹具文件夹中只有以下 Test.json 文件:
[
{
"searchKeyword":"cypress"
},
{
"searchKeyword":"QA automation"
},
{
"searchKeyword":"stackoverflow"
}
]
上述文件包含三个不同的数据集。
我只有下面的规范文件,它包含一个它(测试用例),它将根据上面的输入运行多次。
Test.spec.js 文件:
describe("Run the test parallel based on the input data",() =>{
const baseUrl = "https://www.google.com/";
before("Login to consumer account", () => {
cy.fixture('Test').then(function (data) {
this.data = data;
})
});
it("Search the keyword", function () {
this.data.forEach((testData) =>{
cy.visit(baseUrl);
cy.xpath("//input[@name='q']").type(testData.searchKeyword);
cy.xpath("//input[@value='Google Search']").click();
cy.get("//ul/li[2]").should("be.visible");
});
});
});
上面的代码按预期工作。但我只想通过使用不同的数据集并行运行上述单个测试。
示例:三个浏览器实例打开,它应该从 Test.json 文件中选择三个不同的数据并运行 Test.spec.js 文件中可用的单个测试。
我只需要为我的一个项目实现逻辑,但我无法共享更复杂的代码,因此只需创建一些虚拟测试数据和测试脚本来实现我的逻辑。
有人可以分享您实现这一目标的想法吗?
【问题讨论】:
-
这个docs.cypress.io/guides/guides/parallelization 有帮助吗?首先,我会在
it周围使用forEach,就像你现在拥有的那样,它实际上只是一个测试用例,所以我怀疑它是否可以并行运行。
标签: parallel-processing cypress parallel.foreach cypress-component-test-runner