Javascript shift不是一个函数
我试图让自动化测试备份并运行,但在运行测试时出现以下问题 该函数的目标是,如果选择器来自页面的某个部分,则对象选择器将是一个对象数组,从最外层的祖先(部分)开始,以元素结束,并按顺序连接其选择器 错误消息: 运行“getElements”命令时出错:祖先.shift不是一个函数 功能:Javascript shift不是一个函数,javascript,testing,automated-tests,nightwatch.js,nightwatch,Javascript,Testing,Automated Tests,Nightwatch.js,Nightwatch,我试图让自动化测试备份并运行,但在运行测试时出现以下问题 该函数的目标是,如果选择器来自页面的某个部分,则对象选择器将是一个对象数组,从最外层的祖先(部分)开始,以元素结束,并按顺序连接其选择器 错误消息: 运行“getElements”命令时出错:祖先.shift不是一个函数 功能: function getSelector(selector) { let ancestors = selector; if (typeof ancestors !== "string&
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;
}
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;
}
}
};
下面调用getSelector函数的代码:
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;
}
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;
}
}
};
选择器(选择器){
返回featureHelper.getSelector(选择器);
}
getElement(结果){
if(result.status==0&&Array.isArray(result.value)){
for(设i=0;i
您声明选择器应为数组。但是,显然不是,因为shift
不是一个函数。为了从这里帮助您,我们需要查看调用getSelector
函数的代码。@aridlehoover感谢您的回答,我已将调用getSelector函数的代码添加到描述中。嘿,谢谢@chinwc!我仍然没有足够的上下文。我想知道您是否可以在可执行代码块中重现该问题。或继续向上查看调用堆栈,告诉我变量选择器的定义位置…您声明selector
应该是一个数组。但是,显然不是,因为shift
不是一个函数。为了从这里帮助您,我们需要查看调用getSelector
函数的代码。@aridlehoover感谢您的回答,我已将调用getSelector函数的代码添加到描述中。嘿,谢谢@chinwc!我仍然没有足够的上下文。我想知道您是否可以在可执行代码块中重现该问题。或继续往上看调用堆栈,告诉我变量选择器是在哪里定义的。。。