Cypress:从 SQL Server 获取数据并进行循环测试

Mik*_*ike -1 cypress

我有一个自定义命令来从 SQL Server 获取用户数据,效果很好。但现在我找不到循环返回数据的方法。

我需要这样的东西:

var users = []

describe('start tests ', () => {
    before(() => {
        cy.getUser(1, 0).then(value => {
            users.push(value)
        });
    })

    users.forEach((u) => {

        it("Test for user " + u['username'], () => {

            // test script here

        });
    });
})
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为 JavaScriptforEach部分没有等待cy.before(). 我尝试并搜索但找不到解决方案。有任何想法吗?谢谢。

小智 5

users.push()只向数组添加一项,因此forEach()无论如何都没有意义。

如果您歪曲了测试,并且实际上有多个用户,您需要知道您无法从规范内的代码动态设置测试数量。

您必须向 中添加一个before:run钩子setupNodeEvents才能执行此操作。

请参阅此问题以获取处理问题的替代方法 -预扫描网页进行动态测试