• 技术干货|接口测试框架restassured搭建(符源码)


    每天进步一点点,关注我们哦,每天分享测试技术文章

    本文章出自【码同学软件测试】

    码同学公众号:自动化软件测试,领取资料可加:magetest

    码同学抖音号:小码哥聊软件测试

    现在,越来越多的 Web 应用转向了 RESTful 的架构,很多产品和应用暴露给用户的往往就是一组 REST API,这样有一个好处,用户可以根据需要,调用不同的 API,整合出自己的应用出来。从这个角度来讲,Web 开发的成本会越来越低,人们不必再维护自己的信息孤岛,而是使用 REST API 互联互通。那么,如何确保 API 的稳定性与正确性呢?全面系统的测试是必不可少的,除了常见的postman、jmeter等接口测试工具外,今天给大家介绍一款非常火爆的接口测试框架Rest-Assured。

    Rest-Assured 是一套由 Java 实现的 REST API 测试框架,它是一个轻量级的 REST API 客户端,可以直接编写代码向服务器端发起 HTTP 请求,并验证返回结果;它的语法非常简洁,是一种专为测试 REST API 而设计的 DSL。使用 Rest-Assured 测试 REST API,就和真正的用户使用 REST API 一样,只不过 Rest-Assured 让这一切变得自动化了。

    官网地址: http://rest-assured.io/

    官方文档: https://rest-assured.io/#docs

    github项目地址: https://github.com/rest-assured/rest-assured

     

    Rest-Assured框架搭建步骤

     

    1创建maven项目

    1.1 打开idea创建项目,选择maven相关设置点击下一步

    1.2 输入包名及项目名称点击下一步

    1.3 选择maven相关信息,点击下一步

    1.4 项目名称和项目位置,一般默认就可以,点击完成

     

    2配置Rest-Assured相关依赖

     

    免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:magetest

    在项目的pom.xml中增加Rest-Assured的依赖包

     

    3Rest-Assured第一个接口测试案例

     

    3.1 接口业务介绍

    案例我们将采用码同学全栈接口项目来进行实战操作

    图示中的四个接口分别表示的业务是:

    Get接口:根据id获取手机信息

    POST接口:增加一个手机信息

    3.2 测试代码

    在src/test/java下创建一个包,起名叫phone,在该包下创建一个PhoneApiTests类

    ,代码如下:

    执行结果如下:

    3.3 代码解释

    l given() 是RestAssured类下一个方法,所以官方文档强烈推荐我们使用静态导入语句;网络请求所需要的条件都写在这里,头信息、请求参数

    l get方法,里面参数是url,用来发送请求

    l post方法,里面参数也是url,用来发送请求

    l then() 又是一个方法,可以理解成执行请求后要做什么事情

    l statusCode(200) 这个方法名称就看得出来,是判断响应状态码是不是等于200

    整个代码的意思我们可以连起来,以其中的post接口为例:

    发起一个post请求,他的content-type是json,参数是xx,执行后针对响应状态码做断言

    现在讨论下这种写法的好处,什么写法,就是一个方法后面利用点串联起来,形成一个像自然语言的句子一样。这种特点,有点像lambda表达语法效果。除了这个,也有一点像groovy这种胶水语言。通过这个例子,我明白了Rest Assured首页的这句话的含义。

    本系列将会连载哦,请持续关注

    免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频 ☞ 可加:magetest/关注码同学公众号:自动化软件测试

    本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 相关阅读:
    Celery
    高并发架构
    websocket
    git分支管理
    auto_ptr与shared_ptr
    UDP信号驱动IO
    TCP带外数据
    UDP广播
    获取mac地址
    char数组初始化
  • 原文地址:https://www.cnblogs.com/testfan2019/p/16347284.html
Copyright © 2020-2023  润新知