У меня есть непредсказуемая страница поведения, которая зависит от изменений, которые создают разработчики. И иногда мои тесты не удались, потому что страница не была загружена. Моя структура тестового сценария выглядит следующим образом:Остановить тестирование после определенных сбоев
describe('0. first actions', function() {
var lib = require("../../common.js");
var config = browser.params;
var url = config.listOfReferencesUrl, toolbar;
load(url, "list-of-references");
beforeAll(function() {
// some actions on the page
});
it('test0', function() {
since('test0 failed').
expect(toolbar.isPresent()).toBe(true);
});
describe('1.actions1', function() {
beforeAll(function() {
// some actions on the page
});
it('test1', function() {
since('test1 failed').
expect(table.getRow(clientNameNum).getRowInput().isEnabled()).toBe(true);
});
// ... another invested describes
});
Если функция нагрузки:
global.load = function (url, pageType) {
browser.get(url);
if (pageType == 'list-of-references'){
browser.executeScript("icms.go('WEB_INQ_PROC', 'InquiryList', null, 0)");
}
browser.waitForAngular();
};
Интересно, если я могу создать структуру, чтобы остановить мои тесты, если страница не загружается. Но я не хочу использовать 'jasmine-bail-fast'
, потому что я хочу увидеть другие сбои, если страница загрузится. я пытался написать что-то вроде:
if (this.results_.failedCount > 0) {
// Hack: Quit by filtering upcoming tests
this.env.specFilter = function(spec) {
return false;
};
}
Но это не работает. Я использую жасмин2. Может быть, кто-нибудь знает, как я могу его организовать?
Что такое значение 'функции load' когда страница строя или успеха для загрузки? Получил ли он логическое, обещание, элемент HTML? – Freezystem
@Freezystem Я обновил свой вопрос и добавил описание функции загрузки. Он просто запускает скрипт и ждет углового. –
Если вы не загружаете внешнюю библиотеку, я думаю, что 'beforeAll()' на самом деле не существовало в ядре Jasmine. Вы пытались загрузить свою страницу в блок 'beforeEach()? – Freezystem