node.js - Nightwatch JS - 如何通过 Firefox headless 运行测试

标签 node.js selenium nodes nightwatch.js geckodriver

这是我的 Selenium 设置:

            "selenium": {
                "start_process": true,
                "start_session": true,
                "server_path": "./nightwatch/drivers/selenium-server.jar",
                "log_path": "./nightwatch/reports",
                "host": "127.0.0.1",
                "port": 4444,
                "cli_args": {
                  "webdriver.chrome.driver": "nightwatch/drivers/chromedriver.exe",
                  "webdriver.gecko.driver": "nightwatch/drivers/geckodriver.exe",
                  "webdriver.ie.driver": "nightwatch/drivers/IEDriverServer.exe"
                }
              }

我的 Firefox 设置:

            "firefox": {
                    "selenium_port": 4444,
                    "default_path_prefix": "/wd/hub",
                    "globals": {
                        "environment": "firefox"
                    },
                    "desiredCapabilities": {
                        "browserName": "firefox",
                        "alwaysMatch": {
                                    "moz:firefoxOptions": {
                                        "args": ["-headless"]
                                    }
                                }                           
                    }
                }

Firefox 正在成功打开并进行测试,但不是在 headless 模式下。

我使用的版本:

  • Firefox 60(64 位)
  • Selenium 3.4
  • Geckodriver 0.20(64 位)

最佳答案

我使用以下配置进行此操作 - 主要区别在于未设置 alwaysMatch 和 args 双破折号:--headless

另请注意,在为 vue-cli-service 指定 env 时,它需要一个空格,而不是 env 名称前的 =,即:

vue-cli-service test:e2e --env FirefoxHeadless

"FirefoxHeadless": {
    "desiredCapabilities": {
      "browserName": "firefox",
      "acceptInsecureCerts": true,
      "moz:firefoxOptions": {
        "args": ["--headless"]
      }
    }
  }

关于node.js - Nightwatch JS - 如何通过 Firefox headless 运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50925278/

相关文章:

javascript - Felixge/Node-Mysql 独立连接文件

javascript - Typescript 通用方法装饰器返回 Promise 作为值

json - 如何在 Robot Framework 中的同一个机器人文件中仅读取一次 JSON 并多次使用它

python - Selenium Python - 无法定位元素 - 该网站被屏蔽了吗? (影子 DOM)

java - 高度为 K 的树中最多可以有多少个节点?

c - 在 C 中为二叉搜索树分配内存的段错误

javascript - 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性?

node.js - 添加规则时 Eslint 错误 @typescript-eslint/interface-name-prefix

java - org.openqa.selenium.InvalidArgumentException : unknown error: unsupported protocol

java - 链表的功能