首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BrowserStack - Node.js并发测试

BrowserStack - Node.js并发测试
EN

Stack Overflow用户
提问于 2014-04-16 23:01:40
回答 1查看 1.5K关注 0票数 1

我一直在寻找在Node.js中为可伸缩测试创建合理结构的方法,特别是使用BrowserStack。

请在此处查看源代码:

代码语言:javascript
复制
https://gist.github.com/Palgie/10886008

在尝试关闭会话或退出驱动程序时,我遇到了一个问题,因此当运行并发测试时,它会经常告诉我我的最大会话数正在使用中(见下文)。

这看起来像是一种竞争状况,但它可能是非常明显的事情。

代码语言:javascript
复制
  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)

在源代码中,我引用了它,据我所知,它应该执行会话,但感觉不像是。

代码语言:javascript
复制
test.after(function() {
  console.log('Stopping test');
  driver.quit();
});

据我所知,在浏览器中运行所有mocha测试或webdriver测试之后,它将终止driver,然后在之前的方法中初始化一个新实例。

任何帮助都将不胜感激!

干杯

EN

回答 1

Stack Overflow用户

发布于 2014-04-22 19:48:26

您可以使用selenium-runner并行运行测试。以下文档提供了使用selenium-runner在BrowserStack上并行运行测试的示例:https://www.browserstack.com/automate/node

此外,如果selenium-runner不能满足您的需求,您是否可以分享您的需求(您希望并行运行哪个特定的框架或库代码),以便我们可以查看此问题

邮箱: Akshay @ BrowserStack

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23113175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档