javascript - Cypress Javascript 中的返回值未定义

标签 javascript cypress

我是 cypress 的新手,我创建了一个通用函数,它检查 cypress 中的行数并返回计数。我已经使用了for循环,并返回链下的计数。该函数正确计算计数,但如果我在第二个函数下调用,我将得到未定义或空值 我定义了一个全局变量和下面的通用函数,我试图返回计数 在第二个函数下调用,其中我得到 rowcount_val 作为未定义

let rowcount_val = 0

function checkrowcount() {
    var count = 0;
    var val = ""
    for (let i = 1; i <= 10; i++) {
        cy.get(".rt-tbody>div:nth-child(" + i + ")>div>div:nth-child(1)").then((
            e) => {
            val = e.text();
            if (val.length > 1) {
                count++
            }
        })
    }
    cy.then(() => {
        return cy.log("count*" + count).then(() => {
            return count;
        })
    })
}
When('click on Add button', function() {
    cy.then(() => {
        rowcount_val = checkrowcount();
        cy.log("rowcountvalue is ******" + rowcount_val)
    })
})

最佳答案

您正在使用函数的未定义返回值覆盖全局变量。

要使其正常工作,请进行更改

rowcount_val = checkrowcount();

checkrowcount();

关于javascript - Cypress Javascript 中的返回值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75781842/

相关文章:

javascript - 提交一个 php 表单并在不重新加载页面的情况下在 div 上显示其结果

javascript - 轮播不自动播放也不可点击(Bootstrap 3)

angular - 如何在 Angular 项目中使用新的 Cypress 组件测试运行程序?

javascript - Cypress Js Testing 将 DOM 的内容与其之前的值进行比较

javascript - 在查询字符串中添加第一个参数

javascript - 所有代码路径不返回值?

javascript - 在 JavaScript 正则表达式中匹配 0-9、a-z 和 1 个特殊字符

Cypress :期望元素包含一些文本

console - 观察控制台是否有错误

cypress - 使用相同的文本测试两个元素