量角器webdriver-manager错误:“ WebDriverError:无法从以下类型确定类型:E。最后1个字符为:E”

时间:2018-09-11 16:45:52

标签: selenium-webdriver webdriver protractor webdriver-manager iedriverserver

我一直在针对Chrome运行量角器测试,最近遇到了针对IE进行测试的需求。我按照标准步骤设置硒服务器(webdriver-manager update => webdriver-manager start),然后使用量角器conf.js运行测试。使用{“ browserName”:“互联网浏览器”,“ 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。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

事实证明,这是我的代码存在同步问题,因为我正在使用async/await与Protractor进行测试。在我的conf.js文件中,我使用onPrepare()函数在测试开始之前设置变量/设置。在onPrepare()内部,我使用browser.driver.manage().window().maximize();将窗口最大化。当我不使用awaitbrowser.driver.manage().window().maximize();调用与其余测试进行同步时,就会发生麻烦,这样它将在测试开始附近随机最大化窗口并引发错误。

我通过使onPrepare()使用async(例如,将onPrepare()更改为async onPrepare()并将browser.driver.manage().window().maximize();更改为await browser.driver.manage().window().maximize();来解决了此问题