REST API 测试方式

因公司技术上更新 后期REST API使用率将大幅度提升,作为测试人员需要跟进技术,提前学习测试方式

  1. REST API 和 普通API 在浏览器中访问相同
    访问方式:http://ip:port/content/test.do?username=qingqian

  2. Jmeter测试 REST API
    Jmeter中REST API 也和普通API设置参数时-参数是无法传送给server的。
    需将Parameters 换成 Body Data, 用Json串的方式填写需要传递的参数


    REST API Jmeter.png
  3. REST API 的功能测试
    虽可以在浏览器上访问,但做功能测试时 会有N多可能性要测,不可能手工将测试点的url一一贴到浏览器中进行测试,需要考虑测试的自动化。
    在bash下面有 curl,python有pycurl,因计划用python语言来做自动化测试工具,所首选pycurl。

import pycurl
import StringIO
def pycurl_test():
    c = pycurl.Curl()
    str = StringIO.StringIO()
    c.setopt(pycurl.URL,'http://ip:port/content/test.do?username=qingqian')
    c.setopt(pycurl.WRITEFUNCTION, str.write)
    c.setopt(pycurl.FOLLOWLOCATION, 1)
    c.perform()
    print c.getinfo(pycurl.HTTP_CODE)
    c.close()
  1. RIDE中测试REST API
    需安装两个lib
pip install -U requests
pip install -U robotframework-requests

RIDE中的脚本:

*** Settings ***
Library           Collections
Library           RequestsLibrary
*** Test Cases ***
Login
    Create Session    api    http://ip:port/epg/
    ${addr}    Get Request    api    aaa/login.do?userId=qingqian
    Should Be Equal As Strings    ${addr.status_code}    200
    Log    ${addr.content}
    ${responsedata}    To Json    ${addr.content}
    ${keys}    Get Dictionary keys    ${responsedata}
    ${values}    Get Dictionary Values    ${responsedata}
    ${str}    Get From Dictionary    ${responsedata}    userId
    Dictionary Should Contain Value    ${responsedata}    200
Paste_Image.png
  1. postman测试工具
    chrome的插件-研发可用于自测-也可将测试用例分享给其他人


    Paste_Image.png

    Tests

var jsonData = JSON.parse(responseBody);
tests["Status code is 200"] = responseCode.code === 200;
tests["Body matches string"] = responseBody.has("alan");
  1. bash的curl
    貌似这个很简单


    Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • cURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议和选项,如HTTP、FTP、TELNET等,能...
    司马东阳阅读 1,454评论 0 6
  • 原文地址:PHPcURL库函数抓取页面内容(转)作者:巴克 cURL是一个利用URL语法规定来传输文件和数据的工具...
    司马东阳阅读 1,196评论 0 3
  • 为你,千千万万遍。 余温在酒樽里残存,年轮仿若散开的波纹,读你眉间轻透的忧伤,凄凄惨惨戚戚,三杯两盏淡酒,至天明,...
    yuan学姐阅读 419评论 1 6