在运行夜视测试时如何加载多个Chrome扩展程序?

时间:2019-04-27 21:38:50

标签: javascript google-chrome-extension nightwatch

我已经确定了如何使用以下方法运行一个chrome扩展程序

{
  "src_folders" : ["test"],
  "webdriver" : {
    "start_process": true,
    "server_path": "node_modules/.bin/chromedriver",
    "cli_args": ["--verbose"],
    "port": 9515
  },

  "test_settings" : {
    "default" : {
      "desiredCapabilities": {
        "browserName": "chrome",
        "chromeOptions" : {
          "args": [
            "--load-extension=/pathToFirstExtension",
          ]
        }
      }
    }
  }
}

但是,运行两个扩展程序不起作用我尝试了以下操作

  "args": [
            "--load-extension=/pathToFirstExtension, /pathToSecondExtension",
          ]

还有这个

"args": [
            "--load-extension=/pathToFirstExtension", 
            "--load-extension=/pathToSecondExtension",
        ]

还有这个

"args": [
            "--load-extension=/pathToFirstExtension /pathToSecondExtension",
        ]

还有在这样的列表中以逗号分隔的base64编码的字符串

chromeOptions: {
          extensions: [
            keywords.base64,
            avgPrice.base64
          ]
        }

我正在单个js文件中使用module.exports,其中base64编码的字符串位于键为base64的对象中

如何为夜视测试加载多个Chrome扩展程序

1 个答案:

答案 0 :(得分:0)

cuplrit是逗号分隔的字符串之间的空格

万一有人觉得有用-现在对我有用

const chromedriver = require('chromedriver');

module.exports = {
  src_folders : ["test"],
  test_settings: {
    default: {
      webdriver: {
        start_process: true,
        server_path: chromedriver.path,
        port: 4444,
        cli_args: ['--port=4444']
      },
      desiredCapabilities: {
        browserName: 'chrome',
        javascriptEnabled: true,
        acceptSslCerts: true,
        chromeOptions: {
          args: [
            "--load-extension=/pathToExtensionOne,/pathToExtensionTwo",
            "window-position=2560,0",
            "window-size=400,300"
          ]
        }
      }
    },
    chrome: {
      webdriver: {
        server_path: chromedriver.path
      },
      desiredCapabilities: {
        browserName: 'chrome',
        javascriptEnabled: true,
        acceptSslCerts: true,
        chromeOptions: {
          args: []
        }
      }
    }
  }
};

我还可以设置窗口大小/位置。

FWIW,我使用的是nightwatch.conf.js而不是nightwatch.json

在我的package.json 中:

  "scripts": {
    "nightwatch": "nightwatch -c ./nightwatch.conf.js"
  }

要运行此命令,请在终端上执行以下操作

npm run nightwatch