Javascript BrowserStack-Node.js并发测试
我一直在研究如何使用BrowserStack为Node.js中的可伸缩测试创建合理的结构 请在此处查看来源:Javascript BrowserStack-Node.js并发测试,javascript,node.js,selenium-webdriver,browserstack,Javascript,Node.js,Selenium Webdriver,Browserstack,我一直在研究如何使用BrowserStack为Node.js中的可伸缩测试创建合理的结构 请在此处查看来源: https://gist.github.com/Palgie/10886008 我在尝试关闭会话或退出驱动程序时遇到问题,因此在运行并发测试时,它会经常告诉我正在使用max会话(请参见下文) 这感觉像是一种比赛状态,但可能是非常明显的 Now testing Chrome - 22.0 Now testing IE - 10.0 ․․․․ Stopping test
https://gist.github.com/Palgie/10886008
我在尝试关闭会话或退出驱动程序时遇到问题,因此在运行并发测试时,它会经常告诉我正在使用max会话(请参见下文)
这感觉像是一种比赛状态,但可能是非常明显的
Now testing Chrome - 22.0
Now testing IE - 10.0
․․․․
Stopping test
Stopping test
․
4 passing (14s)
1 failing
1) "after all" hook:
Error: This driver instance does not have a valid session ID (did you call WebDriver.quit()?) and may no longer be used.
at checkHasNotQuit (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/webdriver.js:291:13)
at webdriver.WebDriver.schedule (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/webdriver.js:263:3)
at webdriver.WebDriver.quit (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/webdriver.js:331:21)
at Context.<anonymous> (/Users/gourleyp/Sites/bs-webdriver/driver.js:35:14)
at webdriver.promise.ControlFlow.runInNewFrame_ (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:1598:20)
at webdriver.promise.ControlFlow.runEventLoop_ (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:1463:8)
at wrapper [as _onTimeout] (timers.js:252:14)
at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
==== async task ====
at Context.<anonymous> (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/testing/index.js:126:14)
at Hook.Runnable.run (/usr/local/lib/node_modules/mocha/lib/runnable.js:196:15)
at next (/usr/local/lib/node_modules/mocha/lib/runner.js:259:10)
at /usr/local/lib/node_modules/mocha/lib/runner.js:271:7
at done (/usr/local/lib/node_modules/mocha/lib/runnable.js:185:5)
at /usr/local/lib/node_modules/mocha/lib/runnable.js:199:9
at /Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/testing/index.js:92:5
at /Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/goog/base.js:1178:15
at webdriver.promise.ControlFlow.runInNewFrame_ (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:1598:20)
at notify (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:428:12)
at notifyAll (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:397:7)
at resolve (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:375:7)
at fulfill (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:493:5)
at /Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:1465:10
at Object.webdriver.promise.asap (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:732:5)
at newFrame.then.e (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:1614:25)
at /Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/goog/base.js:1178:15
at webdriver.promise.ControlFlow.runInNewFrame_ (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:1598:20)
at notify (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:428:12)
at notifyAll (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:397:7)
at resolve (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:375:7)
at fulfill (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:493:5)
at webdriver.promise.ControlFlow.resolveFrame_ (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:1519:9)
at webdriver.promise.ControlFlow.getNextTask_ (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:1488:12)
at webdriver.promise.ControlFlow.runEventLoop_ (/Users/gourleyp/Sites/bs-webdriver/node_modules/browserstack-webdriver/lib/webdriver/promise.js:1446:59)
at wrapper [as _onTimeout] (timers.js:252:14)
at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
据我所知,在浏览器中运行所有mocha测试或webdriver测试之后,它将终止驱动程序,然后在before方法中初始化一个新实例
任何帮助都将不胜感激
干杯您可以使用selenium runner并行运行测试。以下文档中给出了使用selenium runner在BrowserStack上并行运行测试的示例: 此外,如果selenium runner不能满足您的需求,请您分享您的需求(您希望并行运行哪个特定的框架或库代码),以便我们可以关注这个问题 阿克什@ 浏览器堆栈
test.after(function() {
console.log('Stopping test');
driver.quit();
});