首页 > 解决方案 > 祖先.shift 不是一个函数

问题描述

我正在尝试让自动化测试重新启动并运行,并且在运行测试时遇到以下问题。

该函数的目标是,如果选择器来自页面的一部分,对象选择器将是一个对象数组,从最外层的祖先(部分)开始,并以元素结束,依次加入它们的选择器。

错误信息: Error while running "getElements" command: ancestors.shift is not a function

功能:

function getSelector(selector) {
    let ancestors = selector;

    if (typeof ancestors !== "string") {
        selector = "";

        let oElement = ancestors.shift();
        while (oElement) {
            selector += " " + oElement.selector;
            oElement = ancestors.shift();
        }
    }
    return selector;
}

下面调用 getSelector 函数的代码:

selector(selector) {
        return featureHelper.getSelector(selector);
    }

    getElement(result) {
        if (result.status === 0 && Array.isArray(result.value)) {
            for (let i = 0; i < result.value.length; i++) {
                if (typeof result.value[i] === "object") {
                    result.value[i].ELEMENT =
                        result.value[i][Object.keys(result.value[i])[0]];
                }
            }
            return result;
        } else {
            return result;
        }
    }
};

标签: javascripttestingautomated-testsnightwatch.jsnightwatch

解决方案


推荐阅读