Variables 如何引用函数中生成的变量以在Cypress中对其执行.contains()操作?

Variables 如何引用函数中生成的变量以在Cypress中对其执行.contains()操作?,variables,cypress,Variables,Cypress,如何引用函数中生成的变量(foo)在Cypress中对其执行.contains()操作?获取“未定义foo” 要获取随机变量,请使用以下函数: `cy.get('.row > :nth-child(1) > :nth-child(2) > .form-control').click({force:true}) .type(claim_nbr_Alpha_Numeric()) function claim_nbr_Alpha_Numeric() {

如何引用函数中生成的变量(foo)在Cypress中对其执行.contains()操作?获取“未定义foo”

要获取随机变量,请使用以下函数:

`cy.get('.row > :nth-child(1) > :nth-child(2) > .form-control').click({force:true})
    .type(claim_nbr_Alpha_Numeric())
     function claim_nbr_Alpha_Numeric() {
        var text = "";
        var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        for (var i = 0; i < 15; i++)
            text += possible.charAt(Math.floor(Math.random() * possible.length));
        return text;}`
获取以下引用错误:“文本未定义”

您的变量“文本”已定义,因此仅在“claim\u nbr\u Alpha\u Numeric”函数的范围内可用

处理此问题的最佳方法是在第一次调用cy.get()之前调用函数并将其结果赋给变量。然后你可以在两个地方使用它

即:

变量“text”已定义,因此仅在“claim\u nbr\u Alpha\u Numeric”函数的范围内可用

处理此问题的最佳方法是在第一次调用cy.get()之前调用函数并将其结果赋给变量。然后你可以在两个地方使用它

即:


非常感谢。但是,这有助于获得从函数claim_nbr_Alpha_Numeric()返回的初始值并存储该值,而不是再次调用函数并重新生成新值吗?@SteveMandel抱歉,我不确定我是否理解您的要求?上面的代码示例只调用该函数一次。这完全取决于您在何处声明和使用变量。如果在文件顶部声明函数并调用它以textToType,而不是在每个test it()bloc中,它将只生成一个值。谢谢。我会试试的!非常感谢。但是,这有助于获得从函数claim_nbr_Alpha_Numeric()返回的初始值并存储该值,而不是再次调用函数并重新生成新值吗?@SteveMandel抱歉,我不确定我是否理解您的要求?上面的代码示例只调用该函数一次。这完全取决于您在何处声明和使用变量。如果在文件顶部声明函数并调用它以textToType,而不是在每个test it()bloc中,它将只生成一个值。谢谢。我会试试的!
`cy.contains(text).click()`
function claim_nbr_Alpha_Numeric() {
    ...
}

var textToType = claim_nbr_Alpha_Numeric();

cy.get(...).click(...).type(textToType);

cy.contains(textToType).click();