尝试运行Protractor测试时,Object#<Object>没有方法'getInstance'

Aar*_*ron 6 javascript testing end-to-end angularjs protractor

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

TypeError:Object#没有方法'getInstance'

所以这似乎是一个报道修复的问题,但我似乎无法解决我的特殊情况.它似乎与这个问题半关联,但是因为它在更新我的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();
    };

};
Run Code Online (Sandbox Code Playgroud)

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

var Login = require('./pageObjects/Login.po.js');
...
var LoginPage = new Login();
Run Code Online (Sandbox Code Playgroud)

ale*_*cxe 16

您不需要再调用protractor.getInstance(),使用全局可用browser对象:

this.title = browser.getTitle();
Run Code Online (Sandbox Code Playgroud)

而且,是的,这是一个突破性的变化1.5.0,请参阅: