Запуск тестов транспортира Chrome и IE 11

#selenium-webdriver #protractor #e2e-testing

#selenium-веб-драйвер #транспортир #e2e-тестирование

Вопрос:

Выполнение Protractor E2E тестов для обоих Chrome и IE затруднено.

Я могу запускать их отдельно, однако мне нужно запустить / остановить соответствующий сервер Chrome / IE webdriver перед запуском каждого теста.

В моем conf.js файле я экспортирую параметры конфигурации следующим образом :

 exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub',
    specs: [             
         'spec/my-spec.js',
    ],    

    directConnect: false,    // false when targeting IE, and selen addr is used

    multiCapabilities: [
        {
            browserName: 'chrome'
        }
        ,
        {
            browserName: 'internet explorer',
            'version': '11'
        }
    ]
  } 

Для стандартных тестов Chrome я могу запустить сервер Webdriver:

  > webdriver-manager start
 

Но для IE я обнаружил способ запуска Webdriver IE следующим образом (да, довольно некрасиво):

 java -Dwebdriver.ie.driver=C:ProjectsGSDashboard-E2ETestsnode_modulesprotractornode_moduleswebdriver-managerseleniumIEDriverServer_x64_2.53.1.exe -jar C:ProjectsGSDashboard-E2ETestsnode_modulesprotractornode_moduleswebdriver-managerseleniumselenium-server-standalone-2.53.1.jar
 

Затем я просто запускаю тесты транспортира:

 protractor protractor.conf.js
 

Я ищу более чистый и плавный способ одновременного запуска обоих тестов IE / Chrome e2e.

Есть ли решение для этого?

Приветствуются любые советы / рекомендации….

****** ОБНОВЛЕНИЕ ******

Согласно приведенному ниже ответу, пытаюсь использовать seleniumArgs следующим образом (где я могу указать jar файл ИЛИ IEDriverServer_x64_2.53.1.exe файл :

 exports.config = {
    //seleniumAddress: 'http://localhost:4444/wd/hub',  // comment out
    seleniumArgs: ['-Dwebdriver.ie.driver=C:ProjectsDashb-E2ETestsnode_modulesprotractornode_moduleswebdriver-managerseleniumIEDriverServer_x64_2.53.1.exe'],
    allScriptsTimeout: 50000,
    specs: [
         'spec/MY-spec.js',
    ],    

    directConnect: false,    // false when targeting IE, and selen addr is used
    multiCapabilities: [
        //{
        //    browserName: 'chrome',                        
       ,
        {
            browserName: 'internet explorer',
            'version': '11'
        }
    ]    
} 

НО запуск теста выдает эту ошибку в командной строке Windows:

 E/launcher - The path to the driver executable must be set by the web   driver.ie.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/InternetExplorer‌​Driver. 
 

Итак, я до сих пор не понял, как запускать тесты IE и Chrome (последовательно).

с уважением, Боб

Ответ №1:

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

обновление webdriver-manager — ie

После этого оба экземпляра IE11 и Chrome запускаются одновременно с:

 multiCapabilities: [
  {
      browserName: 'chrome'
  }  
  ,
  {
      browserName: 'internet explorer',
      'version': '11'
  }
  ] 

Ответ №2:

включить seleniumArgs: ['-Dwebdriver.ie.driver=pathtoIEdriver/IEDriverServer.exe'] имущество в conf.js и убрать seleniumAddress: 'http://localhost:4444/wd/hub' .Если seleniumAddress не указан, то protractor автоматически запустит selenium server. Так что следующее будет вашим conf.js для запуска вашего теста транспортира в Chrome и ie.

 exports.config = {
  seleniumArgs: ['-Dwebdriver.ie.driver=node_modules/protractor/selenium/IEDriverServer.exe'],
  specs: [             
       'spec/my-spec.js',
  ],    

  directConnect: false,    // false when targeting IE, and selen addr is used

  multiCapabilities: [
      {
          browserName: 'chrome'
      }  
      ,
      {
          browserName: 'internet explorer',
          'version': '11'
      }
    ]
  }
 

Комментарии:

1. Вам необходимо указать правильный путь, по которому вы разместили IEDriverServer.exe файл в seleniumArgs.

2. Да, я убедился, что путь к ` IEDriverServer.exe `это действительно правильно. Я вручную скопировал и вставил полный путь в проводник Windows.

3. Итак, какую ошибку вы получаете, даже если вы указали правильный путь для IEDriverServer.exe

4. Действительно, другая ошибка. [10:12:38] E/launcher - The path to the driver executable must be set by the web driver.ie.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://selenium-release.storage.googleapis.com/index.html

5. Пожалуйста, смотрите Мой раздел **** ОБНОВЛЕНИЕ **** в исходном сообщении.