Как можно запускать тесты по отдельности друг от друга

protractor
cucumber
angularjs
Теги: #<Tag:0x00007fedb9cd2a18> #<Tag:0x00007fedb9cd2860> #<Tag:0x00007fedb9cd26a8>

#1

Использую версию 5.1.0
Подскажите, пожалуйста, как можно запускать тесты по отдельности друг от друга? Как я пониманию, нужно ставить какие-то атрибуты перед началом каждого теста, а потом при запуске ставить атрибуты.


(Pavel Ozerov) #2

Тесты можно объединять в сьюты (suites). Сьюты должны быть прописаны и организованы в конфигурационном файле. Чтобы запустить сьют: protractor config.js --suite %suite_name%. Также тесты можно запускать по отдельности поставив флаг f перед it. Например, fit(‘Test1’, function(){…}); Если поставить f перед всем блоком (fdescribe), то запустятся тесты только внутри блока describe.


#3

Я неправильно выразился, я имел ввиду интеграционные тесты которые написаны на gherkin, а конструкции для тестов, т.е. для шагов в тесте, написаны на typescipt и использую я protractor.


(Oleksandr Khotemskyi) #4

Что у вас за тест раннер?


#5

Не понял вопроса)


(Oleksandr Khotemskyi) #6

Вы говорите что пишете интеграционные тесты на протракторе с gherkin

Это какой то безумный микс фреймворков, которые обычно в связке никто не использует. Я пытаюсь понять что у вас за тест раннер в этой связке


#7

У меня есть сценарии которые я пишу на gherkin и есть конструкции написанные на ts и использую protractor, которые позволяют выполнять сценарии. Запуск осуществляет protractor.


#8

Господа, помогите, пожалуйста, с этим вопросом.

Пример из кода

Gherkin

Допустим я нахожусь на экране "***"
И я введу в текстовое поле "E-mail" значение ""
И я введу в текстовое поле "Пароль" значение ""
И я нажму на кнопку "Войти"
То система отобразит список валидационных сообщений: "Заполните E-mail.", "Заполните пароль."

TypeScript

defineSupportCode(consumer => {
    consumer.When(/^я введу в текстовое поле "([^"]*)" значение "([^"]*)"$/, function (field, value: string) {
        browser.sleep(1000);
        return element(by.xpath(`//input[@placeholder="${field}"]`)).sendKeys(value);
    });
});