Подтвердить что ты не робот

Выполнение тестов e2e с использованием конфигурации Protactor multiCapabilities, но ограничение максимальных экземпляров Webdriver

Контекст

Я пытаюсь использовать новый Protractor 0.19.0 с опцией конфигурации multiCapabilities. Он работает, как описано в документах:

  • Он упрощает выполнение тестов в нескольких браузерах (нет необходимости в grunt, а не script, только 1 файл конфигурации).
  • Он проводит параллельные тесты

Второй момент для меня проблематичен. Одно из моих приложений не обрабатывает множественное соединение с данными, подразумевая, что тесты терпят неудачу.

Мой вопрос:

Можно ли ограничить максимальное количество экземпляров Webdriver, чтобы отключить параллельное тестирование для этого приложения?

Что я пробовал

Я нашел в Selenium Webdriverjs Grid2 wiki, что есть параметр maxSession, который идеально подходит для моего случая! Но я попытался добавить его в конфигурацию Protractor без успеха.

maxSession также находится в желаемых возможностях. Кто-нибудь знает, работает ли еще?

Вот ссылка на тему с несколькими связями, я оставил там комментарий.

Если вам нужна дополнительная информация, не стесняйтесь спрашивать:)

Спасибо заранее!

РЕДАКТИРОВАТЬ: Выделенный вопрос GitHub

EDIT2: Недавно я попытался добавить seleniumArgs: ['-maxSession=1'] в мою конфигурацию Protractor, к сожалению, это тоже не работает...

4b9b3361

Ответ 1

Реализовано в это коммит и выпущено в 0.24.0 (см. Журнал изменений трактатора).

Вам нужно добавить опцию maxSessions в конфигурационный файл protractor со значением >= 1 (в противном случае считается неограниченным).

Пример protractor.config.js:

exports.config = {
  seleniumAddress: 'http://127.0.0.1:4444/wd/hub',

  specs: [
    '../e2e/**/*.js'
  ],

  multiCapabilities: [
    {'browserName': 'chrome'},
    {'browserName': 'firefox'},
    {'browserName': 'phantomjs'}
  ],

  maxSessions: 1,

  baseUrl: 'http://localhost:8000'
};

Протестировано и работает как ожидалось для моего случая.

Ответ 2

Я думаю, вы можете установить это, запустив узлы селена в командной строке и указав:

MaxInstances Это говорит.... сколько экземпляров одной и той же версии браузера может работать через удаленную систему.

или

MaxSession Это говорит о том, сколько браузеров (любой браузер и любая версия) может одновременно работать параллельно в удаленной системе. Таким образом, это переопределяет настройки Max Instances и может ограничивать количество экземпляров браузера, которые могут выполняться параллельно.

из этого ответа

Итак, вы запустите свой node как таковой:

java -jar selenium-server-standalone-2.14.0.jar -role node  -hub http://******:4444/grid/register -maxSession 5