无法为 firefox 浏览器启动 Protractor 测试

Protractor tests can not intiated for firefox browser

我目前正在尝试在 Firefox 网络浏览器上启动 Protractor e2e 测试,但是我遇到了这个错误,有人可以解决这个问题吗?谢谢你的时间

[webdriver-start] Running Firefox as root in a regular user's session is not supported.  ($HOME is /Users/x which is owned by x)
[protractor    ] [19:38:09] E/launcher - invalid argument: can't kill an exited process
[protractor    ] Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
[protractor    ] System info: host: 'MacBook-Pro.local', ip: '192.168.1.3', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_151'
[protractor    ] Driver info: driver.version: unknown

阅读评论,发现您找到了问题的答案。您在评论中的问题的答案如下:

为了 运行 FF 和 Chrome 在相同的测试中无头,你需要在你的配置中添加一个叫做 multiCapabilities 的东西。这是一个代码片段:

    multiCapabilities: [
        {
            browserName: 'chrome',
            chromeOptions: {
                args: [
                    "--headless", '--disable-gpu'
                ]
            },
            shardTestFiles: true,
            maxInstances: 4,
            platformName: "OS X 10.9",
            version: '63.0'
        },
        {
            browserName: 'firefox',
            'moz:firefoxOptions': {
                'args': [
                    "--headless"
                ]
            },
            shardTestFiles: true,
            maxInstances: 4
        },
        {
            browserName: 'safari',
            'safari.options': {
                cleanSession: true
            }
        }],

这样您就可以 运行 多个浏览器在一起。

这是我最近在最新的量角器中测试过的 Firefox 的工作示例。确保您拥有最新版本的 Firefox 和量角器。我的是
protractor - 版本 5.4.2 和 Firefox 71 浏览器版本。

请查看示例配置、js 并阅读评论以获得想法。

//protractor firefoxconfig.js
exports.config = {
  framework: 'jasmine',
  directConnect: false, //Start protractor without start the selenium server using webdriver-manager start. default value is fales
  //This is  only for chrome and firefox and use drivers instead of selenium server

  capabilities: {
      browserName: 'firefox',
      'moz:firefoxOptions': {
            args: ['--verbose'],
            binary: 'C:/Program Files/Mozilla Firefox/firefox.exe' //Provide binary location to avoid potential binary not found errors 
       //Need to start cmd via admin mode to avoid permission error
        }
},   
    //set to true So each spec will be executed in own browser instance. default value is false
    //restartBrowserBetweenTests: true,
     jasmineNodeOpts: {
    //Jasmine provides only one timeout option  timeout in milliseconds don't add ;
    defaultTimeoutInterval: 180000
     },

  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['src/com/sam/scriptjs/iframes.spec.js']

}

进一步阅读 - https://medium.com/@smeesheady/how-to-setup-protractor-to-run-in-firefox-browser-138046214e1 How can I configure the firefox binary location in Protractor?