【问题标题】:How to configure a remote webdriver in Nightwatch?如何在 Nightwatch 中配置远程 webdriver?
【发布时间】:2021-11-12 05:41:09
【问题描述】:

我开始使用 Nightwatch 并尝试使用 Selenoid 远程启动浏览器。

但官方文档中似乎没有远程 Webdriver 配置的示例。 例如,在 Java 中,我正在创建一个 RemoteWebdriver 对象,将集线器 url 传递给它,例如:

 WebDriver wd = new RemoteWebDriver(URI.create('http://hub-master:4444/wd/hub').toURL(), capabilities)

但是当我从文档 (https://nightwatchjs.org/gettingstarted/configuration/#webdriver-settings) 中设置建议的参数时:

webdriver: {
        "host": "http://hub-master",
        "port": 4444,
        "default_path_prefix": "/wd/hub",
        "log_path": 'selenium_logs',
},

我收到了错误:

  An error occurred while retrieving a new session: "getaddrinfo ENOTFOUND http://simulia-master"

那么谁能提供一个在 Nightwatch conf.js 中为 Selenoid 或 Selenium Grid 配置远程 webdriver 的示例?

【问题讨论】:

  • 我认为应该只是hub-master

标签: javascript remotewebdriver nightwatch selenoid


【解决方案1】:

通过以下配置解决。 似乎可以在default 中设置基本的selenium 设置以用于多个本地环境,并且可以在selenoid 环境中覆盖其特定字段(如主机和端口):

 test_settings: {
        default: {
            disable_error_log: false,
            launch_url: 'https://my-url.com',
            selenium: {
                host: "localhost",
                port: 4444,
                start_process: true,
                server_path: "node_modules/selenium-server/lib/runner/selenium-server-standalone-3.141.59.jar",
                start_session: true,
                log_path: "out/selenium_log",
                cli_args: {
                    "webdriver.chrome.driver": "node_modules/chromedriver/lib/chromedriver/chromedriver.exe",
                    "webdriver.gecko.driver": "node_modules/geckodriver/geckodriver.exe"
                }
            },
            desiredCapabilities: {
                "browserName": "chrome", /* default browser for local run */
            },
        },
        chrome: {
            silent: true,
            screenshots: {
                enabled: true,
                path: './screenshots/chrome/',
                on_failure: true,
                on_error: true,
            },
            desiredCapabilities: {
                browserName: "chrome",
                chromeOptions: {
                    args: [
                        "disable-web-security",
                        "ignore-certificate-errors",
                        "--test-type"
                    ],
                    "prefs": {
                        "protocol_handler": {
                            "allowed_origin_protocol_pairs": allowedProtocols
                        },
                    },
                    "w3c": false,
                }
            }
        },
        firefox: {
            screenshots: {
                enabled: true,
                path: './screenshots/firefox/',
                on_failure: true,
                on_error: true,
            },
            desiredCapabilities: {
                browserName: "firefox",
                alwaysMatch: {
                    "moz:firefoxOptions": {
                        args: [
                            "--headless",
                            "--width=1920",
                            "--height=1080"
                        ],
                    }
                }
            }
        },
        selenoidChrome: {
            selenium: {
                start_process: false,
                host: "selenoid-host",
                port: 4444,
                live_output: true,
            },
            screenshots: {
                enabled: true,
                path: './screenshots/selenoidChrome',
                on_failure: true,
                on_error: true,
            },
            desiredCapabilities: {
                "enableVNC": true,
                "browserName": "chrome",
                "enableLog": true,
                "enableVideo": true,
            },
        },
        selenoidFirefox: {
            extends: 'selenoidChrome',
            screenshots: {
                path: './screenshots/selenoidFirefox',
            },
            desiredCapabilities: {
                "browserName": "firefox",
            }
        },
    },

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 2016-11-08
    • 1970-01-01
    • 2012-10-01
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    相关资源
    最近更新 更多