如何处理获取空白页而不是 NightWatch 中指定的 url?

How to handle getting a blank page instead of the url specified in NightWatch?

我是 NightWatch 的新手,所以我遵循了几个教程,我按照他们所说的做了一切,但现在我得到的是一个空白页面 header "data;",而不是我的页面想看看哪个是“https://www.ghandi.com.mx”。

这是 json 文件。这个问题似乎与 json 配置有关。有什么帮助吗?非常感谢!

  {
    "src_folders" : ["tests"],
    "output_folder" : "reports",

    "selenium": {
      "start_process": true,
      "start_session" :  true,
      "server_path": "C:\Users\Esau Alvarez\Desktop\selenium-server-standalone-3.13.0.jar",
      "port": 4444,
      "cli_args": {
        "webdriver.chrome.driver": "C:\Users\Esau Alvarez\Desktop\chromedriver.exe"
      }
    },

    "test_settings" : {
      "default": {
        "launch_url": "https://www.gandhi.com.mx/",
        "screenshots": {
          "enabled": false
        },
        "desiredCapabilities": {
          "browserName": "chrome",
          "marionette": true
        }
      },

      "chrome" : {
        "desiredCapabilities": {
          "browserName": "chrome",
          "webdriver": {
            "server_path": "C:\Users\Esau Alvarez\Desktop\NightWatch\chromedriver.exe"
          }
        }
      }
    }
  }

这是我的测试文件

module.exports = {
    "Test": function (browser) {
        browser
            .windowMaximize()
            .url("https://www.gandhi.com.mx/")
            .waitForElementVisible('body', 1000)
    }
}
  • 在默认部分下,您必须针对 Firefox 进行配置。下载gecko驱动,在cli_args.
  • 下给出路径
  • 您应该从 chrome 所需的功能中删除服务器路径,因为它已经在上面提到过。两次更改后,您的 nightwatch.json 应该看起来像这样。
{
    "src_folders": ["tests"],
    "output_folder": "reports",

    "selenium": {
        "start_process": true,
        "start_session": true,
        "server_path": "C:\Users\Esau Alvarez\Desktop\selenium-server-standalone-3.13.0.jar",
        "port": 4444,
        "cli_args": {
            "webdriver.chrome.driver": "C:\Users\Esau Alvarez\Desktop\chromedriver.exe",
            "webdriver.gecko.driver": "Path to gecko driver.exe"
        }
    },

    "test_settings": {
        "default": {
            "launch_url": "https://www.gandhi.com.mx/",
            "screenshots": {
                "enabled": false
            },
            "desiredCapabilities": {
                "browserName": "firefox",
                "marionette": true
            }
        },

        "chrome": {
            "desiredCapabilities": {
                "browserName": "chrome"
            }
        }
    }
}

另外,为了安全起见,请将 'body' 的等待时间增加到 2000 或 3000 秒。

module.exports = {
    "Test": function (browser) {
        browser
            .windowMaximize()
            .url("https://www.gandhi.com.mx/")
            .waitForElementVisible('body', 3000)
    }
}

所以根据 nightwatch json,您的默认执行应该在 firefox 中进行。如果你想在 chrome 上执行相同的操作,你应该使用键 chrome 或将 chrome 配置移动到默认部分。