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