2016-11-24 138 views
0

我一直在运行关闭中间测试的量角器测试。我正在用量角器茉莉花。 defaultTimeoutInterval设置为defaultTimeoutInterval: 8000000,allScriptsTimeout设置为allScriptsTimeout: 10000000。我的测试需要几乎一小时才能运行每个it()声明。这是因为他们在等待某些物体出现。当我增加一些内部时间以使对象更快显示时,浏览器不关闭。但是这会导致测试失败,因为我需要等待很长一段时间。所以发生的事情是浏览器正在关闭他们自己的中间测试。我有4个浏览器实例在运行。第一个browserInstance在35分钟后关闭,第二个在5分钟后关闭。我仍然需要这些浏览器来继续运行测试。我没有browser.close()我的代码中的任何地方,我什么也没有提示他们关闭。这是我得到的唯一错误:量角器测试中的浏览器自动关闭

系统信息:os.name: 'Mac OS X的',os.arch: 'x86_64的',os.version:'10 .11.5' ,java.version: '1.8.0_73' 驱动程序信息:driver.version:未知 at WebDriverError(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:10) at Object.checkLegacyResponse (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:639:15) at parseHttpResponse(/ usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http /index.js:538:13) at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:472:11 at ManagedPromise.invokeCallback_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1379:14) at TaskQueue.execute_(/ usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2913:14) at TaskQueue.executeNext_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2896:21) at/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2820:25 at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js: 639:7 at process._tickCallback(node.js:369:9) From:Task:Protractor.waitForAngular() - Locator:By(css selector,i.glyphicon-bell) at WebDriver.schedule(/ usr/local/lib目录/ node_modules /量角器/ node_modules /秒在/usr/local/lib/node_modules/protractor/built/browser.js:236:28)在runWaitForAngularScript(/ usr/local/lib)下运行以下代码:elenium-webdriver/lib/webdriver.js:377:17) lib/node_modules/protractor/built/browser.js:264:30) at ProtractorBrowser.waitForAngular(/usr/local/lib/node_modules/protractor/built/browser.js:270:16) at ElementArrayFinder.getWebElements(/ usr/local/lib/node_modules/protractor/built/element.js:155:29)在ElementArrayFinder.getWebElements(/usr/local/lib/node_modules/protractor/built/element.js:261:56)上的 .ElementFinder.getWebElements(/usr/local/lib/node_modules/protractor/built/element.js:717:39) at ElementArrayFinder.applyAction_(/usr/local/lib/node_modules/protractor/built/element.js:407 :34) (匿名函数)[as click](/usr/local/lib/node_modules/protractor/built/element.js:101:30) (在匿名函数中)[as click](/ usr/local/lib/node_modules/protractor/built/element.js:742:22)错误 at ElementArrayFinder.applyAction_(/usr/local/lib/node_modules/protractor/built/element.js:406:27) at ElementFinder(匿名函数)[as click](/usr/local/lib/node_modules/protractor/built/element.js:101:30) [as click](/ usr/local/lib/node_modules/protractor/built/element.js:742:22) at /Users/Harman/webapp-qa-tests/js/tests/brackets/4-player-bracket.js:203:64 at ManagedPromise。invokeCallback_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1379:14) at TaskQueue.execute_(/ usr/local/lib/node_modules/protractor/node_modules/selenium- webdriver/lib/promise.js:2913:14) at TaskQueue.executeNext_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2896:21) at/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2775:27 at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:639: 7 at process._tickCallback(node.js:369:9) From:任务:在对象的控制流 中运行它(“应允许玩家1承认”)。 (/usr/local/lib/node_modules/protractor/node_modules/jasminewd2/index.js:79:14) at /usr/local/lib/node_modules/protractor/node_modules/jasminewd2/index.js:16:5 at ManagedPromise.invokeCallback_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1379:14) at TaskQueue.execute_(/ usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2913:14) at TaskQueue.executeNext_(/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2896:21) at/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2775:27 来自异步测试: 错误 at Suite。 (/Users/Harman/webapp-qa-tests/js/tests/brackets/4-player-bracket.js:189:9) at Suite。 (/Users/Harman/webapp-qa-tests/js/tests/brackets/4-player-bracket.js:126:5) at Object。 (/Users/Harman/webapp-qa-tests/js/tests/brackets/4-player-bracket.js:13:1)

我正在webdriver 2.24,镀铬的最新版本,与量角器version 4.0.9

我已经从错误消息中删除了IP地址和主机名。

回答

1

我认为核心问题是你试图运行在最新的浏览器上使用旧的硒版本。它应该是2.53.x的东西。

请通过更改的package.json文件中的版本升级量角器版本最新像4.0.11,并从命令提示符下执行(项目根目录):

npm update 

然后给更新您的硒驱动程序从命令提示符下面的命令

webdriver-manager update 

它会将硒版本更新到最新,然后再次尝试运行您的测试。

相关问题