我是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不是函数
答案 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();
},
};