首页 文章

在Firefox中使用Nightwatch运行测试无法连接到Selenium服务器

提问于
浏览
1

我正在尝试使用Nightwatch.js对网站进行自动测试,而我正在使用macOS High Sierra . 所以我开始使用文档中所述的Selenium Standalone Server进行测试 . Chrome测试工作正常,我没有问题 . 但我似乎无法使Firefox测试工作,我一直在测试和在线搜索修复,但我放弃了,因为我找不到任何解决方案 . 这是我的nightwatch.json配置文件 .

{
    "src_folders": [
        "test"
    ],
    "output_folder": "reports",
    "custom_commands_path": "",
    "custom_assertions_path": "",
    "page_objects_path": "",
    "globals_path": "",
    "selenium": {
        "start_process": true,
        "server_path": "./bin/selenium-server-standalone-3.13.0.jar",
        "log_path": "",
        "port": 4444,
        "cli_args": {
            "webdriver.chrome.driver": "./bin/chromedriver",
            "webdriver.gecko.driver": "./bin/geckodriver",
            "webdriver.firefox.profile": "nightwatch"
        }
    },
    "test_settings": {
        "default": {
            "launch_url": "https://www.google.com",
            "selenium_port": 4444,
            "selenium_host": "127.0.0.1",
            "default_path_prefix": "",
            "silent": true,
            "screenshots": {
                "enabled": false,
                "path": ""
            },
            "desiredCapabilities": {
                "browserName": "firefox",
                "javascriptEnabled": true,
                "acceptSslCerts": true,
                "marionette": true
            }
        },
        "chrome": {
            "desiredCapabilities": {
                "browserName": "chrome",
                "chromeOptions": {
                    "args": [
                        "--load-extension=/Users/jackch/Downloads/chrome, --url-base=/wd/hub"
                    ]
                }
            }
        }
    }
}

然后当我在终端中运行 nightwatch -e --verbose 时,我得到了相同的错误 Error retrieving a new session from the selenium server Connection refused! Is selenium server started? . 我尝试了很多东西:

1)我在默认端口4444上的一个单独的终端中启动了geckodriver,这里是来自geckodriver的日志:

2018-07-23 12:09:03.432 plugin-container[27769:6329668] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7903, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2018-07-23 12:09:03.559 plugin-container[27769:6329668] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7943, name = 'com.apple.coredrag'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2018-07-23 12:09:03.624 plugin-container[27770:6329696] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7b37, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2018-07-23 12:09:03.713 plugin-container[27770:6329696] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7bcf, name = 'com.apple.coredrag'
See /usr/include/servers/bootstrap_defs.h for the error codes.
1532336943850   Marionette  INFO    Listening on port 52869
2018-07-23 12:09:04.333 plugin-container[27771:6329828] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7d07, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2018-07-23 12:09:04.413 plugin-container[27771:6329828] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x7d83, name = 'com.apple.coredrag'

See /usr/include/servers/bootstrap_defs.h for the error codes.

2)然后我试图改变 geckodriver 的端口,因为我认为他们可能会因为Selenium和gecko都选择了4444端口,但没有任何改变 .

3)我试图单独启动Selenium服务器然后链接它 . 这意味着我在nightwatch.json中将 "start_process" 设置为false . 我仍然无法使其发挥作用 .

这是我运行 nightwatch -e --verbose 后的完整消息:

Starting selenium server... started - PID:  28112

[Test] Test Suite
=====================

Running:  Login
INFO Request: POST /session
 - data:  {"desiredCapabilities":{"browserName":"firefox","javascriptEnabled":true,"acceptSslCerts":true,"platform":"ANY","marionette":true,"name":"Test"}}
 - headers:  {"Content-Type":"application/json; charset=utf-8","Content-Length":145}
INFO Response 200 POST /session (1721ms) { value:
   { sessionId: '187e2af1-54a1-224a-9b8d-d4ff9f3913c7',
     capabilities:
      { acceptInsecureCerts: false,
        browserName: 'firefox',
        browserVersion: '61.0.1',
        'moz:accessibilityChecks': false,
        'moz:headless': false,
        'moz:processID': 28131,
        'moz:profile': '/var/folders/vw/j4dsztz17sj_vtk500lv09r00000gn/T/rust_mozprofile.GRCHbtKdy2zm',
        'moz:useNonSpecCompliantPointerOrigin': false,
        'moz:webdriverClick': true,
        pageLoadStrategy: 'normal',
        platformName: 'darwin',
        platformVersion: '17.7.0',
        rotatable: false,
        timeouts: { implicit: 0, pageLoad: 300000, script: 30000 } } } }

Error retrieving a new session from the selenium server

Connection refused! Is selenium server started?
{ value:
   { sessionId: '187e2af1-54a1-224a-9b8d-d4ff9f3913c7',
     capabilities:
      { acceptInsecureCerts: false,
        browserName: 'firefox',
        browserVersion: '61.0.1',
        'moz:accessibilityChecks': false,
        'moz:headless': false,
        'moz:processID': 28131,
        'moz:profile': '/var/folders/vw/j4dsztz17sj_vtk500lv09r00000gn/T/rust_mozprofile.GRCHbtKdy2zm',
        'moz:useNonSpecCompliantPointerOrigin': false,
        'moz:webdriverClick': true,
        pageLoadStrategy: 'normal',
        platformName: 'darwin',
        platformVersion: '17.7.0',
        rotatable: false,
        timeouts: [Object] } } }

感谢您提供的任何帮助 .

1 回答

  • 1

    我在firefox,safari,chrome上的mac os高山脉上运行守夜人 . 在窗口歌剧,IE . 我的配置:

    module.exports = {
        "src_folders": ["tests"],
        "output_folder": "reports",
        // "live_output" : true,
        // "parallel_process_delay" : 1500,
        "custom_commands_path": "commands",
        "custom_assertions_path": "assertions",
        "page_objects_path": "",
        "globals_path": "",
        "selenium": {
            "start_process": true,
            "server_path": "./node_modules/nightwatch/lib/sel-serv.jar",
            "log_path": "selenium_logs",
            "port": 4444,
            "cli_args": {
                "webdriver.chrome.driver": "./node_modules/.bin/chromedriver",
                "webdriver.gecko.driver": "./node_modules/.bin/geckodriver",
                "webdriver.edge.driver": "./node_modules/.bin/edgedriver",
                "webdriver.ie.driver": "drivers/IEDriverServer.exe",
                "webdriver.opera.driver": "drivers/operadriver.exe",
                "webdriver.safari.driver": "/usr/bin/safaridriver"
            }
        },
    
        "test_settings": {
            "default": {
                "selenium_port": 4444,
                "selenium_host": "localhost",
                "default_path_prefix": "/wd/hub",
                "silent": true,
                "screenshots": {
                    "enabled": true,
                    "on_failure": true,
                    "on_error": true,
                    "path": "tmp_screenshots"
                }
            },
    
            "firefox": {
                "desiredCapabilities": {
                    "browserName": "firefox",
                    "marionette": true,
                    "acceptSslCerts": true,
                    "javascriptEnabled": true
                },
                "globals": {
                    "type": "firefox",
                    "user": "me1",
                    "pass": "test"
                }
            },
    
            "chrome": {
                "desiredCapabilities": {
                    "browserName": "chrome",
                    "chromeOptions": {
                        "args": [
                            "disable-web-security",
                            "use-fake-device-for-media-stream",
                            "use-fake-ui-for-media-stream"
                        ]
                    },
                    "acceptSslCerts": true,
                    "javascriptEnabled": true
                },
                "globals": {
                    "type": "chrome",
                    "user": "me1",
                    "pass": "test"
                }
            },
    
            "opera": {
                "desiredCapabilities": {
                    "browserName": "opera",
                    "operaOptions": {
                        "binary": "C://Program Files//Opera//53.0.2907.68//opera.exe"
                    },
                    "acceptSslCerts": true,
                    "javascriptEnabled": true
                },
                "globals": {
                    "type": "opera",
                    "user": "me4",
                    "pass": "test"
                }
            },
    
            "ie": {
                "desiredCapabilities": {
                    "browserName": "internet explorer",
                    "version": 11,
                    "allowBlockedContent": true,
                    "javascriptEnabled": true,
                    "acceptSslCerts": true,
                    "ignoreProtectedModeSettings": true
                },
                "globals": {
                    "type": "ie",
                    "user": "me3",
                    "pass": "test"
                }
            },
    
            "safari": {
                "desiredCapabilities": {
                    "browserName": "safari",
                    "javascriptEnabled": true,
                    "acceptSslCerts": true
                },
                "globals": {
                    "type": "safari",
                    "user": "me3",
                    "pass": "test"
                }
            }
        },
        "test_workers": {
            "enabled": true,
            "workers": "auto"
        }
    };
    

相关问题