在量角器POM中不是函数错误

时间:2018-04-20 07:08:46

标签: javascript angular protractor

我是Protractor的新手,我一直在尝试用POM做一个示例项目。我在spec.js中有我的页面对象和函数,并尝试在additionalTest.js中访问它,但是我得到了

  

spec.clickGoButton不是函数

我的代码结构如下所示

spec.js

   var spec=function(){
   this.goButton=element(by.id(goButton));
   this.clickGoButton=function(){
   this.goButton.click();
    };

module.exports= spec;

additionTest.jp

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

   function add(a, b) {
    spec.clickGoButton();
   }

我得到错误,因为spec.clickGoButton不是函数

1 个答案:

答案 0 :(得分:1)

假设spec.js正在正确导出spec - 它正在导出,这意味着在使用模块中使用new进行调用。您需要在使用其方法之前创建新的实例化:

const Spec = require('./spec.js');
const mySpec = new Spec();
function add(a, b) {
  mySpec.clickGoButton();
}

但你真的需要上课吗?您可以在spec.js中导出对象,然后在不实例化的情况下使用它:

const spec = {
  goButton: element(by.id(goButton)),
  clickGoButton: function(){
    this.goButton.click();
  },
};