Ошибка транспортировщика-менеджера веб-драйверов: «WebDriverError: невозможно определить тип из: E. Последние 1 прочитанные символы: E» - PullRequest
0 голосов
/ 11 сентября 2018

Я проводил тесты Protractor на Chrome, и недавно я столкнулся с необходимостью тестирования на IE.Я следую стандартной процедуре настройки сервера selenium (обновление webdriver-manager => запуск webdriver-manager), затем запускаю свои тесты с помощью protractor conf.js.Мои возможности просты с {"browserName": "internet explorer", "version": "11"}.

Я сталкиваюсь со следующей ошибкой при кажущихся случайными запусках тестов.Я использую IEDriverServerv3.14.0.

{ WebDriverError: Unable to determine type from: E. Last 1 characters read: E
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08- 02T20:13:22.693Z'
System info: host: '******', ip: '******', os.name: 'Windows 
Server 2016', os.arch: 'amd64', os.version: '10.0', java.version: '10.0.2'
Driver info: driver.version: unknown
at Object.checkLegacyResponse (C:\Users\admin-jdwyer2\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:546:15)
at parseHttpResponse (C:\Users\admin-jdwyer2\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:509:13)
at doSend.then.response (C:\Users\admin-jdwyer2\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:441:30)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7) name: 'WebDriverError', remoteStacktrace: '' }

Я искал решения, но единственное упоминание об этой ошибке - здесь .Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 19 сентября 2018

Оказывается, это была проблема синхронизации с моим кодом, так как я запускаю тесты с Protractor, используя async/await. В моем файле conf.js я использую функцию onPrepare() для установки переменных / настроек перед началом теста. Внутри onPrepare() я максимизировал окно с помощью browser.driver.manage().window().maximize();. Проблема возникла, когда я не использовал await для синхронизации вызова browser.driver.manage().window().maximize(); с остальными моими тестами, чтобы он максимизировал окно случайным образом в начале теста и выдавал ошибку.

Я исправил это, заставив onPrepare() использовать async (то есть изменить onPrepare() на async onPrepare() и изменить browser.driver.manage().window().maximize(); на await browser.driver.manage().window().maximize();

...