Лично я просто использую его для лучшего ведения журнала ошибок. т.е.
it('should display the facility name', function() {
var el = element(by.css('div.facilityName'));
expect(el.isDisplayed()).toBe(true, 'Expected element ' + el.locator() + ' to be present and visible';
});
Это возвращает в моей консоли:
неисправностями:
1) должен отображать название объекта
Ожидаемое ложь, чтобы быть правдой «, ожидаемый (селектор CSS, div.facilityName) для присутствия и видимости.
Кроме того, я использую его с некоторыми вспомогательными функциями (я использую транспортир на Non-Угловой, поэтому у меня нет силы ждет угловых синхронизаций, доступных для меня, поэтому я использую хелпер, как показано ниже:
/**
* @description Prevents test execution until the given element is present in the DOM
* @param [el] The element locator [time] The optional max timeout in ms [opts] The options
*/
Util.prototype.waitForElementPresent = function (el, time, opts) {
var timeout = time || 0,
counter = 0,
verbose = opts ? opts.verbose : false;
return browser.wait(function() {
if (verbose) {
process.stdout.write(!counter ? 'waitForElementPresent [' + el.locator() + '] ' : '.');
counter = counter + 1;
}
return el.isPresent();
}, timeout).then(function() {
if (verbose) {
process.stdout.write('\n');
}
});
};
Использование:
it('should display the facility name', function() {
var el = element(by.css('div.facilityName'));
Util.waitForPresentAndVisible(el, 10000, {verbose: true});
expect(el.isDisplayed()).toBe(true, 'Expected element ' + el.locator() + ' to be present and visible';
});
Это выводит на консоль:
waitForElementPresent [К (селектор CSS, div.facilityName)] ..........
Это несколько тривиально, так как ошибка будет включать линию и индекс неисправного кода в любом случае. Но я считаю полезным в некоторых случаях просто улучшить регистрацию ошибок.
Мне любопытно, как другие люди используют его.
Интересно :) Я также подозреваю некоторые особенности в этом API, как вы ... –
Интересный случай использования! Добавлено еще один. – alecxe