Javascript 如何从量角器中的基js文件继承函数?

Javascript 如何从量角器中的基js文件继承函数?,javascript,node.js,jasmine,protractor,Javascript,Node.js,Jasmine,Protractor,我从使用java的自动化框架开发转移到了量角器和javascript,所以这对我来说是新的。在我的量角器框架中,我需要创建一个带有全局函数的基本屏幕js文件,这些函数可以从其他屏幕js文件调用。请参见下面的示例。如何使login.js继承base.js中的所有函数,以便在直接从login.js调用base.js函数时,loginTest.js中的测试可以工作 base.js login.js loginTests.js 如果您使用node.js>4.5或更多,请尝试使用ES6类- basepag

我从使用java的自动化框架开发转移到了量角器和javascript,所以这对我来说是新的。在我的量角器框架中,我需要创建一个带有全局函数的基本屏幕js文件,这些函数可以从其他屏幕js文件调用。请参见下面的示例。如何使login.js继承base.js中的所有函数,以便在直接从login.js调用base.js函数时,loginTest.js中的测试可以工作

base.js

login.js

loginTests.js


如果您使用node.js>4.5或更多,请尝试使用ES6类-

basepage.js:

loginpage.js:

然后在你的测试中:

let LoginPage = require('loginpage.js');
describe('Login tests - ', function () {
    let loginPage = new LoginPage()  

    beforeEach(function () {
        loginPage.open('/login')
    })

    it("Success login as admin", function () {
        loginPage.login('admin', '123456')
    })
})

更新到最新版本我想现在是8.0.0了
var login = function(){

    var that = {

        func1: function() {
         // do something
                        return that 
        },

        func2: function() {
           // do something

                       return that;
        },
            };
    return that;
};
module.exports = new login();
describe('Login tests - ', function() {

    var loginPage = require('login.js');

       describe('Success login: ', function () {

        beforeEach(function () {
            loginPage.navigateToLogin(“http://login.url”);
                   });

        it("Success login as admin",function(){
           loginPage.insert(“element(by.name("username"))”,”admin@mail”l)
                           .insert(“element(by.name("password"))”,”12345”)                             
                       .click(“element(by.name("loginButton"))”,“home.js”);
                  });
    });
});
class BasePage {
    constructor() {

    }

    open() {
        browser.get(url);
        browser.driver.manage().window().maximize();
    }
}
exports = BasePage
class LoginPage extends BasePage {
    constructor() {
        super()
    }

    login(username, password) {
        //do your login stuff here
    }
}

exports = LoginPage
let LoginPage = require('loginpage.js');
describe('Login tests - ', function () {
    let loginPage = new LoginPage()  

    beforeEach(function () {
        loginPage.open('/login')
    })

    it("Success login as admin", function () {
        loginPage.login('admin', '123456')
    })
})