Транспортир - В чем разница между seleniumAddress и directConnect - PullRequest
0 голосов
/ 07 января 2020

Мне не ясно, в чем разница между выполнением моих испытаний транспортира с использованием:

directConnect: true/false,
seleniumAddress: 'http://localhost:4444/wd/hub',

И также, почему это работает? Что я использую для запуска своих тестов?

Я не объявлял ни одного из перечисленных выше параметров в своем конфигурационном файле, и все мои тесты выполняются.

Это вывод при запуске моих тестов:

[16:26:42] I/launcher - Running 1 instances of WebDriver
[16:26:42] I/local - Starting selenium standalone server...
[16:26:46] I/local - Selenium standalone server started at http://193.167.1.94:57674/wd/hub

I / local означает, что я работаю локально? Является ли directConnect опцией по умолчанию?

Я видел I / размещенный в каком-то посте переполнения стека. Это означает, что они используют внешнюю сетку?

Ответы [ 2 ]

2 голосов
/ 08 января 2020

seleniumAddress - это место, где работает сервер селена. Если это не указано, то новый экземпляр сервера селена будет создан при выполнении вашей платформы (обычно это порт по умолчанию для селена 4444).

directConnect отличается, он позволяет вам отправлять команду непосредственно в драйверы браузера, пропуская seleniumServer в целом. Это определение в соответствии с приведенной ниже конфигурацией:

Если true, Protractor будет подключаться напрямую к драйверам браузера в местах, указанных chromeDriver и firefoxPath. Только Chrome и Firefox поддерживаются для прямого подключения.

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

Также см. Эту соответствующую предыдущую тему для получения дополнительной информации.

1 голос
/ 08 января 2020

seleniumAddress

Вы можете присвоить URL-адресу сервера селена или сетки селена значение seleniumAddress.

Вы можете запустить сервер или сетку селена на том же или другом компьютере, где тестируется

постоянный сценарий

1.1) локальный сервер селена

 . Selenium server run on same machine where test scripts reside

 . When running test, browser opened on the machine where selenium server running

 . Communicate Path:  ( in same machine where test script reside)

    test script -> selenium server -> webdriver binary -> browser

1.2) удаленный сервер селена

. Selenium server run on remote machine where test scripts **NOT** reside

. When running test, browser opened on the remote machine where selenium server running  

. Communicate Path: ( cross two machines )

   test script -> test script machine 
               -> selenium server  (on remote machine)
               -> webdriver binary (on remote machine)
               -> browser          (on remote machine)

1.3) селеновая сетка

. Grid use Master/Slave 

. Multiple Slave machines register to One Master machine

. Each Slave can install couple kinds of browsers

. Slave tell Master it can provide the kinds of browser and 
  max browser instances running in parallel when register to Master

. Master will determine each test open browser on which Slave 
  by test required browser type and not exceed the max browser instances on slave

. Communicate Path: ( cross three machines )

    test script -> test script machine 
                -> master machine
                -> selenium server  (on choosen slave machine)
                -> webdriver binary (on choosen slave machine)
                -> browser          (on choosen slave machine)

directConnect

. When directConnect: true, seleniumAddress will be ignored (if both configured)

. Only chrome and firefox support directConnect so far

. Communicate Path: ( in same machine where test script reside) 

    test script -> webdriver binary -> browser

Использование seleniumAddress вы можете увидеть журналы тестового сценария связываются с веб-драйвером в окне завершения, где вы запускаете сервер / сетку селена.

Из журналов вы можете получить следующую информацию:

  • использовать тестовый сценарий, который локатор, чтобы найти элемент
  • шаг, чтобы найти / обработать элемент завершен или потерпел неудачу
  • , когда тестовый пример не прошел, не удалось сообщить, какой элемент.

Эта информация очень полезно для отладки тестового скрипта

Использование directConnect по умолчанию ault protractor не запустит двоичный файл веб-драйвера в отдельном окне завершения и не направит журнал регистрации в файл.

Так что это не подходит для отладочного тестового сценария.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...