我为Protractor的Page Objects找到了不同类型的语法,我想知道,他们的背景是什么以及建议的方式.
这是Protractor教程中的官方PageObject语法.我最喜欢它,因为它清晰可读:
use strict;
var AngularHomepage = function() {
var nameInput = element(by.model('yourName'));
var greeting = element(by.binding('yourName'));
this.get = function() {
browser.get('http://www.angularjs.org');
};
this.setName = function(name) {
nameInput.sendKeys(name);
};
this.getGreeting = function() {
return greeting.getText();
};
};
module.exports = AngularHomepage;
Run Code Online (Sandbox Code Playgroud)
但是,我也发现了这种情况:
'use strict';
var AngularPage = function () {
browser.get('http://www.angularjs.org');
};
AngularPage.prototype = Object.create({}, {
todoText: { get: function () { return element(by.model('todoText')); }},
addButton: { get: function () { return element(by.css('[value="add"]')); }},
yourName: { get: function () { …Run Code Online (Sandbox Code Playgroud)