在另一个字段中使用生成的字符串

时间:2019-05-31 09:47:16

标签: cypress

我在网页上有几个字段。每次运行测试套件时,前两个字段要求输入唯一的字符串。我有在第一个“名称”字段中生成随机字符串的代码。我想将生成的任何字符串复制到第二个“标签”字段中,以便它们都匹配。

我尝试使用复制功能,但是在Cypress中似乎无法正常工作。我还尝试记录在生成函数中创建的值,然后在下一个测试中使用该记录的值。但这也不起作用。我不确定是否可以解决这个问题?

在第一个字段中生成随机字符串的代码:

cy.get('#Name')
        .should('exist')

        .type(Name_Alpha_Numeric())
            // Enter random string
            function Name_Alpha_Numeric() {
                var text = "";
                var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

                for (var i = 0; i < 10; i++)
                text += possible.charAt(Math.floor(Math.random() * possible.length));

                return text;
            }

希望有一个非常简单的解决方案。

1 个答案:

答案 0 :(得分:0)

这应该有效:

// 0. write the function
function Name_Alpha_Numeric() {
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for (var i = 0; i < 10; i++)
    text += possible.charAt(Math.floor(Math.random() * possible.length));

    return text;
}

// 1. generate the string and store it in a variable
const randomName = Name_Alpha_Numeric()

// 2. type it in
cy.get('#Name').type(randomName)

// 3. verify that #Label also has this text
cy.get('#Label').should('have.text', randomName)