美文网首页
node.js的API(get)测试

node.js的API(get)测试

作者: 往你头上敲三下 | 来源:发表于2018-05-10 18:12 被阅读0次

    工具:cuketest

    安装npm,nodejs

    被测API:https://developer.github.com/v3/

    案例说明:模拟匿名用户登录github,搜索cucumber,查询的结果不少于1条

    辅助工具:Postman

    思路:借助辅助工具查看接口返回数据内容,分析返回数据的格式内容,比较返回的数据长度,大于1。

    先在Postman中访问该接口,返回的body如下图:

    在cuketest中实现代码如下(导入got库)

    运行结果:

    When(/^搜索关键字"([^"]*)"$/, async function (arg1) {

        var api_url= "http://api.github.com/search/repositories?q=cucumber"

        res = await got.get(api_url)

        //console.log(res)

        //res.statusCode获取返回数据的状态码

        console.log("======",res.statusCode)

    });

    用返回的状态码来判断是否与期望的结果一致,接下来补充代码

    先试着打印L的值是什么,发现log里面包括了header等所有内容,但是我们比较刚刚的postman中我们只需要body中的内容,所以继续取L的body

    因为返回数据格式是json的,为方便取items值,所以我们将L转换为json格式并用变量r存储,

    Then(/^至少有一条结果$/, async function (count) {

      var l = res.body

      var r =JSON.parse(l)

      console.log("l-------",r.items)

    });

    运行结果如图

    补充至少有一条结果,代码如下:

    Then(/^至少有一条结果$/, async function (count) {

      var l = res.body

      var r =JSON.parse(l)

      //console.log("l-------",r.items.length)

      return assert.ok(r.items.length > count)

    });

    这里报错。。。根据日志可判断是最后一步出现错误,比较失败

    代码是没有问题的,变量count不是数字类型。。。写成了中文一

    改完再运行

    相关文章

      网友评论

          本文标题:node.js的API(get)测试

          本文链接:https://www.haomeiwen.com/subject/jqszrftx.html