Protractor webdriver-manager error: "WebDriverError: Unable to determine type from: E. Last 1 characters read: E"

Protractor webdriver-manager error: "WebDriverError: Unable to determine type from: E. Last 1 characters read: E"

我一直在 运行针对 Chrome 进行 Protractor 测试,最近我遇到了针对 IE 进行测试的需要。我按照标准程序设置 selenium 服务器(webdriver-manager update=>webdriver-manager start),然后我 运行 使用量角器 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: '' }

我已经搜索了解决方案,但我能找到的唯一提及此错误的是 here。任何帮助将不胜感激!

事实证明这是我的代码的同步问题,因为我 运行 使用 Protractor 使用 async/await 进行测试。在我的 conf.js 文件中,我使用 onPrepare() 函数在测试开始前设置 variables/settings。在 onPrepare() 中,我用 browser.driver.manage().window().maximize(); 最大化了 window。当我没有使用 awaitbrowser.driver.manage().window().maximize(); 调用与我的其余测试同步时,问题就发生了,因此它会在测试开始时随机最大化 window 并抛出错误.

我通过让 onPrepare() 使用 async 来解决这个问题(即将 onPrepare() 更改为 async onPrepare() 并将 browser.driver.manage().window().maximize(); 更改为 await browser.driver.manage().window().maximize();