gpt4 book ai didi

selenium-chromedriver - Nightwatch - 使用 chromedriver

转载 作者:行者123 更新时间:2023-12-04 01:07:01 29 4
gpt4 key购买 nike

所以我在 stack here 上看到了一个类似的问题,但它没有被接受的答案,也没有为我提供我需要的信息。

我正在尝试使用“chromedriver”,因为“selenium-webdriver”需要 FF 版本 <= 28。

到目前为止我所做的。

  • nightwatch.js 测试在 FF 中运行良好
  • 将 chromedriver ( npm install chromedriver -g ) 和 npm install chromedriver 下载到我的 nightwatch 项目目录
  • nightwatch/bin/nightwatch.json 并编辑了以下代码
     "selenium" : {
    "start_process" : false,
    "server_path" : "",
    "log_path" : "",
    "host" : "127.0.0.1",
    "port" : 4444,
    "cli_args" : {
    "webdriver.chrome.driver" : "/usr/local/bin/chromedriver", <= added this - is this the binary?
    "webdriver.ie.driver" : "",
    "webdriver.firefox.profile" : ""
    }},

  • 还尝试更新 selenium 的设置,使其具有 start_process=true 和 server_path
     "selenium" : {
    "start_process" : true,
    "server_path" : "../selenium-server-standalone-2.39.0.jar",
    "log_path" : "",
    "host" : "127.0.0.1",
    "port" : 4444,
    "cli_args" : {
    "webdriver.chrome.driver" : "/usr/local/bin/chromedriver",
    "webdriver.ie.driver" : "",
    "webdriver.firefox.profile" : ""
    }
    },

    不确定我是否指向正确的 chromedriver 文件/文件夹

    还编辑了测试设置
      "test_settings" : {
    "default" : {
    "launch_url" : "http://localhost",
    "selenium_host" : "127.0.0.1",
    "selenium_port" : 4444,
    "silent" : true,
    "disable_colors": false,
    "screenshots" : {
    "enabled" : false,
    "path" : ""
    },
    "desiredCapabilities" : {
    "browserName" : "chrome", <= changed this from ff to chrome
    "javascriptEnabled" : true,
    "acceptSslCerts" : true
    }
    },

    如果我去运行测试(没有 -e <browser> )例如 nightwatch -g <group> ,它在 FF 中启动良好并运行..

    如果我尝试指定 chrome 浏览器 ( -e chrome ) nightwatch -g <group> -e chrome 我会收到以下错误
    ERROR There was an error while starting the test runner:


    Error: Invalid testing environment specified: chrome
    at Object.CliRunner.parseTestSettings (/usr/local/lib/node_modules/nightwatch/lib/runner/cli/clirunner.js:354:15)
    at Object.CliRunner.init (/usr/local/lib/node_modules/nightwatch/lib/runner/cli/clirunner.js:31:8)
    at module.exports.runner.runner (/usr/local/lib/node_modules/nightwatch/lib/index.js:512:19)
    at /usr/local/lib/node_modules/nightwatch/bin/runner.js:9:16
    at module.exports.cli.cli (/usr/local/lib/node_modules/nightwatch/lib/index.js:504:7)
    at Object.<anonymous> (/usr/local/lib/node_modules/nightwatch/bin/runner.js:8:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

    我的问题是:
  • 我如何指向二进制文件(不确定它是哪个)
  • 我在 nightwatch.js 中的设置是否正确?如果我更改了 test_settings 'browserName = Chrome",它如何在 FF 中运行?
  • 我在这里遗漏了什么吗?

  • 提前致谢

    最佳答案

    首先你说

    I am trying to use 'chromedriver' because 'selenium-webdriver'requires a FF version <= 28.


    因为你用的是 selenium-server-standalone-2.39.0.jar (旧 jar) 请从这里下载新的 selenium-server-standalone-2.45.0.jar
    第二次从这里下载 chrome 驱动程序 Chromedriver基于您的环境
    第三次使用以下代码更新您的 nightwatch.json
    {
    "src_folders": [
    "tests"
    ],
    "selenium": {
    "start_process": false,
    "server_path": "bin/selenium-server-standalone-2.45.0.jar",
    "log_path": "",
    "host": "127.0.0.1",
    "port": 4444,
    "cli_args": {
    "webdriver.chrome.driver": "bin/chromedriver",
    "webdriver.ie.driver": ""
    }
    },
    "test_settings": {
    "default": {
    "launch_url": "http://127.0.0.1/",
    "selenium_port": 4444,
    "selenium_host": "localhost",
    "silent": true,
    "screenshots": {
    "enabled": false,
    "path": ""
    },
    "desiredCapabilities": {
    "browserName": "firefox",
    "javascriptEnabled": true,
    "acceptSslCerts": true
    }
    },
    "chrome": {
    "desiredCapabilities": {
    "browserName": "chrome",
    "javascriptEnabled": true,
    "acceptSslCerts": true
    }
    }
    }
    }
    第四次使用 nightwatch -g -e chrome 运行你的小组
    希望它能解决你的问题。

    关于selenium-chromedriver - Nightwatch - 使用 chromedriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30401135/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com