how do I check the HTTP status code using nightwatch.js? I tried
browser.url(function (response) {
browser.assert.equal(response.statusCode, 200);
});
Supplementing to Hilarion Galushka's answer: you can use the perform() command from nightwatch to intergrate request and assert into your nightwatch tests. http://nightwatchjs.org/api/perform.html
For example:
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()
});
})
}
}
Actually there is no way yet to get the response status of the page using Selenium (https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/141)
But what you can easily do is require "request" library, make your request to the webpage you want to open in your Selenium tests and validate that response status code equals 200:
const request = require('request');
request('http://stackoverflow.com', (error, response, body) => {
browser.assert.equal(response.statusCode, 200);
});
Try this
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();
}
};