как проверить код состояния HTTP с помощью nightwatch.js? Я попробовал
browser.url(function (response) {
browser.assert.equal(response.statusCode, 200);
});
но, конечно, это не работает.
как проверить код состояния HTTP с помощью nightwatch.js? Я попробовал
browser.url(function (response) {
browser.assert.equal(response.statusCode, 200);
});
но, конечно, это не работает.
На самом деле еще не удалось получить статус ответа страницы с помощью 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);
});
Попробуйте это
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();
}
};
В дополнение к ответу Илариона Галушки: вы можете использовать команду 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()
});
})
}
}