首页 > 解决方案 > 使用 Nightwatch.js 测试 https 页面响应

问题描述

好的,所以我希望使用Nightwatch.js测试 URL 的 https 响应代码。

我已经安装了 npm 'request' 包,并使用以下代码成功测试了被测 URL 的响应;

var request = require('request');
  request('http://www.google.com', function (error, response, body) {
    if (response.statusCode != 200)
      console.log("error!!!")    
});

我的问题是将这个工作(请求)代码“转换”成标准的nightwatch.js设置,这样如果响应代码不是 200 那么测试会失败吗?

目前我的nightwatch.js脚本以例如开头;

module.exports = { 
  'test response code': function (browser) {
    browser

我想保持类似的格式。

任何帮助将不胜感激。

标签: httpshttp-status-codesnightwatch.js

解决方案


您可以使用 nightwatch 中的 perform() 方法:http: //nightwatchjs.org/api/perform.html

在 perform 块中你可以编写你想要的每一个代码,你也可以使用每一个断言库。根据您的示例,一个简单的示例可能如下所示:

var request = require('request');
var assert = require('assert')

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

推荐阅读