对象#<object>没有方法&#39; getInstance&#39;当试图运行Protractor测试</object>时

时间:2014-12-29 14:34:25

标签: javascript angularjs testing protractor end-to-end

当我尝试从命令行运行我的Protractor测试时,我的所有测试都失败了,因为每当我尝试访问protractor对象时,它都没有我需要的方法。确切的错误是:

  

TypeError:对象#没有方法&#39; getInstance&#39;

所以这似乎是一个reportedfixed问题,但我似乎无法解决我的特殊情况。它似乎与this问题半关联​​,但因为在更新我的node_modules之后它出现了,我觉得我的潜在问题是不同的。直到更新我的量角器,一切正常。

我在全球范围内安装了它并使用npm link protractor将我的本地实例链接到我的全局实例(位于/usr/local/lib/node_modules/protractor),但我仍然因为我的生活无法弄清楚出了什么问题。

我正在调用protractor的确切代码是一个页面对象文件,如下所示:

module.exports = function() {

    var ptor = protractor.getInstance();

    this.get = function() {
        browser.get('http://localhost');
        this.title = ptor.getTitle();
    };

};

实例化页面对象的代码如下:

var Login = require('./pageObjects/Login.po.js');
...
var LoginPage = new Login();

1 个答案:

答案 0 :(得分:15)

您无需再调用protractor.getInstance(),请使用全局可用的browser对象:

this.title = browser.getTitle();

而且,是的,这是1.5.0的一个重大变化,请参阅: