Получить текущее имя браузера в тесте Protractor

Я создаю пользователей в каком-то тесте. Поскольку он подключен к бэкэнд и создает реальных пользователей, мне нужны светильники. Я думал использовать имя браузера для создания уникального пользователя. Однако, это оказалось довольно трудно добраться до него...

Кто-нибудь может указать мне в правильном направлении?

Ответ 1

Другой случай резиновой утки:)

Ответ был довольно простым.

в моей функции onPrepare я добавил следующую функцию и работает безупречно.

browser.getCapabilities().then(function (cap) {
  browser.browserName = cap.caps_.browserName;
});

Я могу получить доступ к имени в моем тесте, используя browser.browserName.

Ответ 2

Это изменилось в версии транспортира, начиная с 3.2 (selenium webdriver 2.52)

Теперь нужно позвонить:

browser.driver.getCapabilities().then(function(caps){
    browser.browserName = caps.get('browserName');
}

Ответ 3

Если вы хотите избежать использования браузера, вы можете сделать это:

it('User should see a message that he has already been added to the campaing when entering the same email twice', function () {

    browser.getCapabilities().then(function (capabilities) {
        browserName = capabilities.caps_.browserName;
        platform = capabilities.caps_.platform;
    }).then(function () {
        console.log('Browser:', browserName, 'on platform', platform);
        if (browserName === 'internet explorer') {
            console.log('IE Was avoided for this test.');
        } else {
            basePage.email.sendKeys('[email protected]');
            console.log('Mande el mail');
            basePage.subscribe.click().then(function () {
                basePage.confirmMessage('Contact already added to target campaign');
            });
        }
    });

});