Javascript 对象不是构造函数量角器Java脚本

Javascript 对象不是构造函数量角器Java脚本,javascript,jasmine,protractor,jasmine-node,jasmine2.0,Javascript,Jasmine,Protractor,Jasmine Node,Jasmine2.0,我一直收到这样一条信息,说Newpage不是一个构造器。我在过去的5个小时里绞尽脑汁试图解决这个问题,但没有任何进展。我查看了以下网站 也许这是我不知道的简单的事情。我所要做的就是从我的页面对象文件中调用一个函数。但仍然没有成功,我们将感谢任何帮助 我的代码: var newPage = require('./newPage.js'); describe('Get Payroll Information', function() { beforeAll(function(){

我一直收到这样一条信息,说Newpage不是一个构造器。我在过去的5个小时里绞尽脑汁试图解决这个问题,但没有任何进展。我查看了以下网站

也许这是我不知道的简单的事情。我所要做的就是从我的页面对象文件中调用一个函数。但仍然没有成功,我们将感谢任何帮助

我的代码:

var newPage = require('./newPage.js');

describe('Get Payroll Information', function() {

  beforeAll(function(){
        var newPageObj = new newPage();
    });

          var EC = protractor.ExpectedConditions;
          var status;
          var clientid, weeknum, pdate;


it('Get CycleStatus, Paydate, Weeknumber, Clientid - completed', function () {
              const fs = require('fs');
              const cycle = $('#cycleStatusID'); // cycle status
              const client = $('#clientID'); // clientid
              const week = $('#companyIdBar_weekId'); // week number
              const payDate = $('#companyIdBar_processDateId');


                //------------Get PayDate --------------------------------
                              .then(() => {
                              payDate.isPresent().then(function(present){
                                if(present){
                                       payDate.getText().then(function(text){
                                         pDate = text;
                                        console.log('paydate (' + pDate + ') is displayed');
                                      });
                                          } else {
                                            console.log('pay date not present');
                                            //return;// breaks for loop like (break)
                                        }
                                      })
                                    })
                                  .then(() => {
                                      writeValueToFile(cycleStatus,clientID,weekNum,pDate);
                                  })
                                  .then(() => {
                                      newPageObj.goBack();
                                      console.log('return to support');
                                  });


                    });// master then promise

              });//spec function
量角器控制台消息

newPage.js代码:

newPage = function(){
    function goBack(){
      var returnbtn = $('#returnToADPClick');
      var search1 = ($$('input[id="toolbarQuickSearch"]').get(0));
      returnbtn.click();
      browser.wait(EC.elementToBeClickable(search1),20,000);
};
};
module.exports = new newPage();
已更改为module.exports=new newPage;//这项工作现在我得到了
您的
newPage.js
正在导出对象,而不是
函数/类/构造函数。将
模块。导出
更改为仅
新建页面
,如下所示:

newPage = function(){
    function goBack(){
      var returnbtn = $('#returnToADPClick');
      var search1 = ($$('input[id="toolbarQuickSearch"]').get(0));
      returnbtn.click();
      browser.wait(EC.elementToBeClickable(search1),20,000);
};
};
module.exports = newPage;

您的
newPage.js
正在导出一个对象,而不是
函数/类/构造函数
。将
模块。导出
更改为仅
新建页面
,如下所示:

newPage = function(){
    function goBack(){
      var returnbtn = $('#returnToADPClick');
      var search1 = ($$('input[id="toolbarQuickSearch"]').get(0));
      returnbtn.click();
      browser.wait(EC.elementToBeClickable(search1),20,000);
};
};
module.exports = newPage;
失败:未定义newPageObj对象

这是因为
newPageObj
变量的作用域-目前它仅在
beforeAll
的作用域中定义。在更高级别声明变量:

var newPage = require('./newPage.js');

var newPageObj;

describe('Get Payroll Information', function() {
    beforeAll(function() {
        newPageObj = new newPage();
    });

    // ...
});
失败:未定义newPageObj对象

这是因为
newPageObj
变量的作用域-目前它仅在
beforeAll
的作用域中定义。在更高级别声明变量:

var newPage = require('./newPage.js');

var newPageObj;

describe('Get Payroll Information', function() {
    beforeAll(function() {
        newPageObj = new newPage();
    });

    // ...
});

newPage.js
导出什么?我刚刚添加了它以便您可以查看。但是它是module.exports=newnewpage();
newPage.js
导出什么?我刚刚添加了它以便您可以查看。但是它是module.exports=newnewpage();好的,谢谢,但是当我在脚本末尾尝试执行页面对象文件中的函数时,我收到消息“Failed:newPage object not defined”,我正在尝试执行函数goBack()好的,谢谢。但是当我在脚本末尾尝试执行页面对象文件中的函数时,我收到消息“失败:未定义newPage对象”我正在尝试执行函数goBack(),好的,但是我现在收到消息无法读取未定义的属性goBack。然而,据我所知,它的定义是newPageObj.goBack();从我的规范文件中,还有什么我遗漏的吗?Kay工作正常,但我现在收到消息无法读取未定义的属性goBack。然而,据我所知,它的定义是newPageObj.goBack();从我的规格文件中还有什么我遗漏的吗