首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行多个nightwatch实例

运行多个nightwatch实例
EN

Stack Overflow用户
提问于 2016-08-02 21:19:26
回答 3查看 2.4K关注 0票数 1

在我现在的公司,我们大约有10个网站..所有这些都是从一个代码库扩展而来的。

每当我们在“核心”代码库中更改某些内容时,我们希望在所有10个网站上并行运行测试。这在云中要容易得多,但我们也希望能够在本地完成。

为此,我基本上启动了多个Selenium实例,每个实例都有自己的端口,并为每个实例设置不同的夜间launch_url

所以我做了一个NodeJS脚本..这将为每个站点创建一个nightwatch.json,每个站点都拥有自己的launch_url和selenium端口。并引用其自己的json配置文件生成nightwatch 10次。

但我想知道这是不是“正确”的方法。

Selenium Grid解决了这个问题吗?也用于本地测试吗?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2016-08-16 06:26:21

Selenium网格被设计为能够处理多个并行会话。

您应该只有一个包含一个或多个selenium节点的selenium集线器。使用额外的params -browser启动selenium节点

示例

java -jar selenium_server.jar -Dwebdriver.chrome.driver=$CHROMEDRIVER -role node -hub http://localhost:4444/grid/register -maxSession 20 -browser browserName=chrome,maxInstances=10 -browser browserName=firefox,maxInstances=10"

(有关maxSession和maxInstances之间的区别,请查看以下内容:Selenium Grid: MaxSessions vs MaxInstances)

您的所有测试都可以配置为使用相同的selenium hub实例。

票数 2
EN

Stack Overflow用户

发布于 2017-05-16 17:27:06

Selenium网格不会解决你的问题。因为selenium网格在不同的实例上运行相同的测试用例。Selenium网格用于检查这些测试用例是否与不同的浏览器、不同版本的浏览器或不同的操作系统兼容。检查Selenium网格:http://www.seleniumhq.org/docs/07_selenium_grid.jsp

在您的示例中,您希望为不同的url运行测试用例,因此有10个不同的测试用例集。

您做得很对,“所以我创建了一个NodeJS脚本,它为每个站点创建一个nightwatch.json,每个站点都有自己的launch_url和selenium端口,并引用自己的json配置文件生成nightwatch 10次。”

通过设置test_workers,您可以并行运行每个测试用例集。示例:"test_workers“:{"enabled”:true,"workers“:"auto"}检查test_workers以在并行http://nightwatchjs.org/gettingstarted/#basic-settings中运行测试用例

如果我错了,请纠正我。

票数 1
EN

Stack Overflow用户

发布于 2016-11-18 05:46:54

如果您需要云解决方案,nightwatch与nightwatch.json文件中的browserstack或saucelabs配合使用效果非常好

代码语言:javascript
复制
"selenium" : {
    "start_process" : true,
    "server_path" : "lib/selenium/selenium-server-standalone-2.53.0.jar",
    "start_session" : true,
    "log_path" : "log/",
    "host" : "127.0.0.1",
    "port" : 4444,
    "cli_args" : {
      "webdriver.chrome.driver" : "lib/drivers/chromedriver"
    }
  },

  "test_settings" : {
    "bstk" : {
        "launch_url": "http://hub.browserstack.com",
        "selenium_port" : 80,
        "selenium_host" : "hub.browserstack.com",
        "silent": true,
        "screenshots": {
          "enabled": false,
          "path": ""
        },

        "desiredCapabilities": {
          "browserName": "chrome",
          "javascriptEnabled": true,
          "acceptSslCerts": true,
          "browserstack.user": "username",
          "browserstack.key": "..."
        }
      },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38721599

复制
相关文章

相似问题

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