我是 Protractor 的新手,我一直在尝试用 POM 做一个示例项目。我在 spec.js 中有我的页面对象和函数,并尝试在 additionTest.js 中访问它,但我得到了
spec.clickGoButton is not a function
我的代码结构如下所示
规范.js
var spec=function(){
this.goButton=element(by.id(goButton));
this.clickGoButton=function(){
this.goButton.click();
};
module.exports= spec;
加法测试.jp
var spec = require('./spec.js');
function add(a, b) {
spec.clickGoButton();
}
我收到错误消息,因为 spec.clickGoButton 不是一个函数
最佳答案
假设 spec.js
正在正确导出 spec
- 它正在导出一个 class,这意味着用 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();
},
};
关于javascript - 不是 Protractor POM 中的函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49935992/