Как, так сказать, перезапустить или закрыть браузер после каждого теста-протектора

Я использую тест Protractor для веб-приложения. Я сделал какой-то поиск в Google, но я придумал zip, я хочу, чтобы каждая спецификация, которую я создала, закрывала браузер после того, как она провела весь тест в этом конкретном файле спецификации, а затем переходила к следующему файлу -специалистам, и т.д. У меня есть такие вещи, как использование "beforeAll" и "afterAll", но Jasmine не распознает эти методы. Точка в правильном направлении была бы потрясающей!

описать ( "я добавлю что-то более значимое здесь позже:)", function() {

//not sure if this method actually exist in Jasmine
afterAll(function () {
   //restart browser or something of the nature
});

it('should do stuff', function () {

});

it('do stuff', function () {

});

});

затем закрыть браузер, а затем открыть резервную копию, чтобы запустить следующую спецификацию.

Ответ 1

Говоря о перезапуске браузера между тестами, существует соответствующая конфигурация:

// If true, protractor will restart the browser between each test.
// CAUTION: This will cause your tests to slow down drastically.
restartBrowserBetweenTests: false,

Установите значение true.

FYI. Вот начальный запрос функции:


beforeAll и afterAll встроены в jasmine-2.x. Чтобы заставить их работать, вам нужно установить jasmine2 в качестве рамки тестирования в config > :

exports.config = {
    ...
    framework: 'jasmine2',
    ...
}

Для jasmine-1.x существует сторонний jasmine-beforeAll пакет, который обеспечивает ту же самую точную функциональность.

Ответ 2

В файле protractor.conf.js:

capabilities:{
    'shardTestFiles': true,
    'maxInstances': 1
}

Это откроет и закроет браузер с каждым .spec файлом, но вы можете потерять некоторые возможности отчетности от стандартных плагинов. Если shardTestFiles является ложным, он откроет браузер, запустит onPrepare, запустит все тесты поочередно, а затем закроет браузер.