Javascript AssertionError:无法比较节点js中的两个对象

Javascript AssertionError:无法比较节点js中的两个对象,javascript,node.js,protractor,Javascript,Node.js,Protractor,我正在使用以下函数从应用程序中获取值,并将其与预期值进行比较。但由于以下输出失败。请帮助我解决此问题 getEleAttribute = async function(ele, attr) { var attribute = await ele.getAttribute(attr); return attribute; } enterTodayDate= function(){ return moment(Date.now()).format('YYYY-MM-DD

我正在使用以下函数从应用程序中获取值,并将其与预期值进行比较。但由于以下输出失败。请帮助我解决此问题

getEleAttribute = async function(ele, attr) {

    var attribute = await ele.getAttribute(attr);
    return attribute;

}

enterTodayDate= function(){
    return moment(Date.now()).format('YYYY-MM-DD');
   }

this.verifyProp = async function () {
   var fetchDate = getEleAttribute(verifyDate, "value").toString().substring(0, 10);
   console.log(fetchDate); // this is printing -- [object Pr
   var today=enterTodayDate().toString();
   assert.equal(fetchDate, today, "Expected Date is not same as Actual Date");

}
输出:

AssertionError: Expected Date is not same as Actual Date: expected '[object Pr' to equal '2020-06-18'
           + expected - actual

           -[object Pr
           +2020-06-18

代码看起来不错,但你的逻辑有点错误

调用getEleAttribute(verifyDate,“value”).toString()将返回对象名称的字符串,而不是包含日期的字符串。当您将断言与使用
moment
方法生成的日期字符串进行比较时,断言失败


您需要调试代码,并查看
getEleAttribute
函数返回的内容。

在以下更改后问题得到解决:

var fetchDate = getEleAttribute(verifyDate, "value");
var actualDate= String(fetchDate).substr(0, 10);
console.log(actualDate); //printed -- 2020-06-19
问题在于子字符串(0,10)。它正在获取正确的值,但正在使用子字符串打印[object pr]