Подтвердить что ты не робот

Проверить код состояния http с помощью nightwatch

как проверить код состояния HTTP с помощью nightwatch.js? Я попробовал

  browser.url(function (response) {
     browser.assert.equal(response.statusCode, 200);
  });

но, конечно, это не работает.

4b9b3361

Ответ 1

На самом деле еще не удалось получить статус ответа страницы с помощью Selenium (https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/141)

Но то, что вы можете легко сделать, это импортировать библиотеку "require", сделать свой запрос на веб-страницу, которую вы хотите открыть в своих тестах Selenium, и подтвердить, что код состояния ответа равен 200:

var request = require('request');

request('http://stackoverflow.com', function (error, response, body) {
    browser.assert.equal(response.statusCode, 200);
});

Ответ 2

Попробуйте это

    var http = require("http");
    module.exports = {
      "Check Response Code" : function (client) {
          var request = http.request({
            host: "www.google.com",
            port: 80,
            path: "/images/srpr/logo11w.png",
            method: "HEAD"
          }, function (response) {
            client
            .assert.equal(response.statusCode, 200, 'Check status');
            client.end();
          }).on("error", function (err) {
            console.log(err);
            client.end();
          }).end();
         }
       };

Ответ 3

В дополнение к ответу Илариона Галушки: вы можете использовать команду execute() из nightwatch, чтобы объединить запрос и включить его в ваши тесты nightwatch. http://nightwatchjs.org/api/perform.html

Например:

module.exports = {
    'test response code': function (browser) {
        browser.perform(done => {
            request('http://stackoverflow.com', function (error, response, body) {
                browser.assert.equal(response.statusCode, 200);
                done()
            });
        })
    }
}