Деловая ситуация: Я пытаюсь автоматизировать производственный процесс, чтобы заменить людей автоматикой. Я получаю много триггеров из приложения в определенный день с различными интервалами и как только i получить триггер, скрипты должны запускаться автоматически. У меня есть 80 узлов (на 80 машинах), настроенных на концентратор Selenium.Как эффективно распределить нагрузку с помощью селеновой сетки
Сценарий: Trigger 1 должен выполнить сценарий 1 в одном из свободного узла. Триггер 2 должен выполнить скрипт 2 в одном из свободных узлов. Триггер 3 должен выполнить скрипт 3 в одном из свободных узлов. Триггер 4 должен выполнить сценарий 1 в одном из свободных узлов.
В приведенном выше сценарии сценарий 1 всегда будет выполняться только на одном конкретном компьютере. Это связано с тем, что при создании объекта удаленного веб-драйвера обязательно указывать URL удаленного хоста. Поэтому, если я получаю два триггера для запуска сценария 1 на В то же время выполнение будет происходить последовательно на одной машине, хотя у меня много компьютеров, сидящих без дела. Параллельное выполнение не является идеальным выбором здесь, так как я получаю триггеры для запуска 50-60 исполнений одного и того же сценария одновременно.
Устранение проблемы: Я не могу эффективно распределять нагрузку на свободные машины.
Это ограничение сетки селена? Есть ли лучший способ управлять распределением нагрузки? Можно ли создать удаленный webdriver без указания URL-адреса узла?
Я начинаю узел вручную с помощью команды «Java -jar Селена-серверного автономного-3.0.0.jar -ролевого узла -hub Http: //: 4444/grid/register -browser browserName = firefox, maxInstances = 1 -maxSession 1 ". Я могу вызвать скрипт на удаленной машине, когда URL-адрес узла передается объекту удаленного веб-драйвера. Однако, если URL-адрес концентратора передан то я получаю ошибку ниже –
30 января 2017 10:12:55 org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Попытка сеанса би-диалекта, предполагая, что закон права Postel справедлив на удаленном конце Jan 30, 2017 10:12:55 AM org.openq a.selenium.remote.ProtocolHandshake createSession INFO: Возврат к оригинальному протоколу OSS JSON. Jan 30, 2017 10:12:55 AM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Возвращение к прямому удаленным конечным соединениям W3C –
Исключение из потока «main» org.openqa.selenium.SessionNotCreatedException: невозможно создать новый удаленный сеанс. желаемые возможности = возможности [{marionette = true, browserName = firefox, version = 48.0.1, platform = WINDOWS}], необходимые возможности = возможности [{}] Информация о сборке: версия: '3.0.0', версия: '350cf60 ', время:' 2016-10-13 10:48:16 -0700 ' Системная информация: host:' ', ip:' ', os.name:' Windows Server 2012 R2 ', os.arch:' amd64 ', os.version:' 6.3 ', java.version:' 1.8.0_101 ' Информация о драйвере: driver.version: RemoteWebDriver –