У меня есть 3 уровня наследующих классов: Первый класс наследует ElementArrayFinder, Второй класс наследует первый класс. Это мой код:Транспортир: наследование классов
1-й класс:
var util = require('util');
var ElementArrayFinder = require('C:/Users/Lilia.Sapurina/AppData/Roaming/npm/node_modules/protractor/lib/element').ElementArrayFinder;
var psComponent = function() {};
util.inherits(psComponent, ElementArrayFinder);
module.exports = psComponent;
2-й класс:
var util = require('util');
var psComponent = require('../lib/psComponent');
var psDateTimePicker = function() {};
util.inherits(psDateTimePicker, psComponent);
psDateTimePicker.prototype.getField = function() {
return element(by.xpath('//div[1]/table/tbody/tr[2]/td[1]/div/input'));
};
psDateTimePicker.prototype.getButton = function() {
return element(by.css('td > a.b-button.b-button_only_icon'));
};
exports.psDateTimePicker = new psDateTimePicker();
я могу использовать в своем коде таким образом:
fdescribe('lala', function() {
var psDateTimePicker = require('../lib/psDateTimePicker').psDateTimePicker;
beforeEach(function(){
browser.get('ng-components/examples/ps-date-time-picker.html');
});
it('test', function() {
expect(psDateTimePicker.getField().getAttribute("value")).toEqual(6);
});
});
Но я хочу сделать глобальный интерфейс и сделать код построения выглядит так:
fdescribe('lala', function() {
var psComponents = require('../lib/psComponent');
beforeEach(function(){
browser.get('ng-components/examples/ps-date-time-picker.html');
});
it('test', function() {
expect(psComponents.psDateTimePicker.getField().getAttribute("value")).toEqual(6);
});
});
Кто-нибудь знает, как я могу организовать его? Я пытался использовать getInstanceOf(), но он не работает. И это не очень удобно.
Ницца, Майкл! Мне нравится это лучше, чем мой ответ :) – Brine