将NodeJS升级到8.1.4后,可以访问localhost:8080

时间:2017-07-19 02:54:12

标签: node.js selenium nightwatch.js

我们的开发小组正在启动一个新的React项目,我一直在尝试使用Nightwatch + Selenium进行e2e测试。使用 NodeJS 6.9.4 运行所有内容时,我得到了它。现在我们被迫将NodeJS升级到8.1.4并且我面临一个阻止我继续进行测试的问题。当使用Selenium和Chrome作为浏览器时,我不断收到“此网站无法访问”消息(但如果我手动打开Chrome窗口,则可以访问该页面。知道会发生什么事情吗?这里有测试结果日志和我的nightwatch.conf.js

测试结果:

INFO Request: GET /wd/hub/session/fc36e7a7-4909-4dfd-a853-6d769accb085/element/0/text 
  - data: 
  - headers:  {"Accept":"application/json"}
INFO Response 200 GET /wd/hub/session/fc36e7a7-4909-4dfd-a853-6d769accb085/element/0/text (16ms) { state: 'success',
  sessionId: 'fc36e7a7-4909-4dfd-a853-6d769accb085',
  hCode: 972983271,
  value: 'This site can’t be reached',
  class: 'org.openqa.selenium.remote.Response',
  status: 0 }

Nightwatch Conf

const SCREENSHOT_PATH = "./screenshots/";
const BIN_PATH = './node_modules/nightwatch/bin/';
``
// we use a nightwatch.conf.js file so we can include comments and helper functions
module.exports = {
    "src_folders": [
        "__tests__/e2e/specs"// Where you are storing your Nightwatch e2e tests
    ],
    "output_folder": "./reports", // reports (test outcome) output by nightwatch
    "selenium": { // downloaded by selenium-download module (see readme)
        "start_process": false, // tells nightwatch to start/stop the selenium process
        "server_path": "./node_modules/nightwatch/bin/selenium.jar",
        "host": "127.0.0.1",
        "port": 4444, // standard selenium port
        "cli_args": { // chromedriver is downloaded by selenium-download (see readme)
            "webdriver.chrome.driver" : "./node_modules/nightwatch/bin/chromedriver"
        }
    },
    "test_settings": {
        "default": {
            "screenshots": {
                "enabled": true, // if you want to keep screenshots
                "path": './screenshots' // save screenshots here
            },
            "globals": {
                "waitForConditionTimeout": 5000 // sometimes internet is slow so wait.
            },
            "desiredCapabilities": { // use Chrome as the default browser for tests
                "browserName": "chrome",
                "javascriptEnabled": true, // turn off to test progressive enhancement
                "chromeOptions" : {
                  "args": ['--disable-web-security', 'no-sandbox', '--disable-async-dns']
                }
            }
        },
        "chrome": {
            "desiredCapabilities": {
                "browserName": "chrome",
                "javascriptEnabled": true, // turn off to test progressive enhancement
                "chromeOptions" : {
                  "args": ['--disable-web-security', 'no-sandbox', '--disable-async-dns']
                }
            }
        }
    },
    "params": {
        "baseUrl": "http://localhost:8080/",
    }
}

很抱歉附加文件而不是扩展评论,但是我已经使用StackOverflow很长时间了,这是我的第一个请求。 StackOverflow的

1 个答案:

答案 0 :(得分:0)

显然,正在运行的Selenium Chrome无法看到我的本地主机。需要从我的机器外部访问我的本地主机才能使其运行