【发布时间】:2021-11-08 15:18:26
【问题描述】:
我正在尝试编写代码,让用户指定通过赛普拉斯创建的项目数量(我们的某些测试需要这种灵活性)。
function createSomeItems(itemCount, headers)
{
item: { id: 0, field1: 123, field2: "test text!"};
let chain;
for (let i = 0; i < itemCount; i++)
{
chain = cy.request({method: 'POST', url: '/create-item', body: item, headers: headers});
item.id += 1;
}
return chain;
}
问题是应用程序遇到错误,因为项目的 ID 重复。据我所知,对cy.request 的调用实际上并没有在我认为执行时执行。
我对 Cypress 还是很陌生(这是我 15 年来第一次使用 JavaScript),所以我不知道如何解决这个问题。
我知道我可以将 n 个对 cy.request().then()... 的调用显式链接在一起,但这会使测试变得庞大且难以阅读(尤其是对于需要较大 n 值的测试用例) ),我正在努力保持代码整洁紧凑。
【问题讨论】:
-
你读过例如docs.cypress.io/api/commands/…?您还应该查看docs.cypress.io/guides/core-concepts/variables-and-aliases 以开始了解赛普拉斯的异步模型。
-
@jonrsharpe 不,实际上,我还没有看到那些。谢谢!
标签: javascript cypress