Javascript 对象不是构造函数量角器Java脚本
我一直收到这样一条信息,说Newpage不是一个构造器。我在过去的5个小时里绞尽脑汁试图解决这个问题,但没有任何进展。我查看了以下网站 也许这是我不知道的简单的事情。我所要做的就是从我的页面对象文件中调用一个函数。但仍然没有成功,我们将感谢任何帮助 我的代码: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(){
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();从我的规格文件中还有什么我遗漏的吗