0

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

我已经搜索了解决方案,但我唯一能找到的关于这个错误的地方是这里。任何帮助将不胜感激!

4

1 回答 1

0

事实证明这是我的代码的同步问题,因为我正在使用 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();

于 2018-09-19T14:30:32.197 回答