精华内容
下载资源
问答
  • 常见接口协议:HTTP(超文本传输协议)、HTTPS(安全超文本传输协议)、FTP(文件传输协议)、TCP(网络控制协议)、IP(互联网协议)、UDP(用户数据协议)。 HTTP协议响应码: 1XX:信息响应类,表示接收到...

    常见接口协议:HTTP(超文本传输协议)、HTTPS(安全超文本传输协议)、FTP(文件传输协议)、TCP(网络控制协议)、IP(互联网协议)、UDP(用户数据协议)。

    HTTP协议响应码:

    1XX:信息响应类,表示接收到请求并且继续处理,

    2XX:处理成功响应类,表示动作被成功接收、理解和接受,

    3XX:重定向响应类,为了完成指定的动作、必须接受进一步处理,

    4XX:客户端错误,客户请求包含语法错误或者是不能正确执行,

    5XX:服务端错误,服务器不能正确执行一个正确的请求。

    HTTP协议请求响应模型(从client开始):(一次请求的生命周期或简单的软件分层)

    场景:登陆

    1. 客户端发起请求到API接口层:用户在客户端填写用户名和密码,点击登录,发送请求,
    2. API接收到客户端发起的用户请求:API对业务逻辑进行验证,验证用户名和密码是否合法,
    3. API会将用户输入的数据发给DB层(进行增删改查一系列的操作)

    Create、Read、Update、Delete

    select * from user where

      username=’ ‘ and password=’’

    1. DB会将返回的查询数据库的条目数给API,
    2. API返回成功或失败的状态码给客户端,
    3. 客户端将返回信息提示给客户。
    • 客户端:功能测试、性能测试、自动化测试,
    • 接口层:接口测试、功能测试、性能测试、自动化测试,
    • 数据库层:可以将开发人员使用到的SQL语句单独拿出来进行性能测试。

    常用HTTP请求方式:(getpostpost有请求体。

    get请求的开发与测试;post请求开发与测试)

    GET 和POST 的区别:

    • GET 使用URL 或Cookie 传参,而POST将数据放在Body 中。
    • GET的URL 在长度上会有限制,而POST没有。
    • POST比GET相对安全,因为在地址栏不可见。
    • 一般POST请求用来获取数据,POST请求用来发送数据。

    注:对于上面的区别,其实第一点POST也可以将数据放在URL里,GET请求其实也没有长度限制,POST请求看起来是隐式的,但是可以通过抓包拿到参数。

     

    万能的jmeterjmeter的应用):

    1. BS架构应用性能,
    2. HTTP协议接口功能与性能,
    3. FTP协议接口功能与性能,
    4. MySQL数据库性能,
    5. MongoDB数据库性能,
    6. 支持自定义Java组件开发。

    常见乱问题解决:

    1. 在encoding栏中写入utf-8,
    2. 在jmeter.properties文件中将samplerresult.default.encoding=ISO-8859-1改为samplerresult.default.encoding=utf-8。重启jmeter即可,
    3. 添加组件,线程组到添加到后置处理器中添加beanshellpostprocessor。在弹出的框中写入prev.setdataencoding(“utf-8”)

    聚合报告:(监听器中的聚合报告)

    场景设置;参数化函数助手(CSV)。

    展开全文
  • 一、常见响应码类型演示 1.200----交易成功 2.404---页面未找到,请检查访问URL路径 正确路径:http://localhost:8081/user/login 访问地址:http://localhost:8081/user/login1111 {"timestamp":"2019-07...

    一、常见响应码类型演示

    1.200----交易成功

    2.404---页面未找到,请检查访问URL路径

    正确路径:http://localhost:8081/user/login
    访问地址:http://localhost:8081/user/login1111
    {"timestamp":"2019-07-14T10:14:08.344+0000","status":404,"error":"Not Found","message":"No message available","path":"/user/login1"}

    3.405——用户在Request-Line字段定义的方法不允许 

    @RequestMapping(value="/login",method=RequestMethod.POST)
    {"timestamp":"2019-07-14T10:16:29.415+0000","status":405,"error":"Method Not Allowed","message":"Request method 'GET' not supported","trace":"org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported\r\n\... ...

    4.415——请求资源不支持请求项目格式 

    //定义json格式
    @RequestMapping(value="/login",method=RequestMethod.POST,consumes="application/json")
    {"timestamp":"2019-07-14T10:28:05.952+0000","status":415,"error":"Unsupported Media Type","message":"Content type 'application/x-www-form-urlencoded' not supported","trace":"org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded' not supported\r\n\... ...

    5.500——服务器产生内部错误 

    C:\Users\Administrator\Desktop>net stop mysql
    MySQL 服务正在停止.
    MySQL 服务已成功停止。
    {"timestamp":"2019-07-14T10:36:01.036+0000","status":500,"error":"Internal Server Error","message":"No message available","trace":"java.lang.NullPointerException\r\n\tat cn.bing.util.SQLUtil.findSQL(SQLUtil.java:58)\r\n\tat cn.bing.api.UserController.login(UserController.java:36)\r\n\... ...
    C:\Users\Administrator\Desktop>net start mysql
    MySQL 服务正在启动 ...
    MySQL 服务已经启动成功。
    {"status":"1","message":"登录成功"}

    二、详细的响应码请参考:

    0**:未被始化
    1**:请求收到,继续处理
    2**:操作成功收到,分析、接受
    3**:完成此请求必须进一步处理
    4**:请求包含一个错误语法或不能完成
    5**:服务器执行一个完全有效请求失败

    1xx:信息响应类,表示接收到请求并且继续处理
    2xx:处理成功响应类,表示动作被成功接收、理解和接受
    3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
    4xx:客户端错误,客户请求包含语法错误或者是不能正确执行
    5xx:服务端错误,服务器不能正确执行一个正确的请求


    100——客户必须继续发出请求
    101——客户要求服务器根据请求转换HTTP协议版本

    200——交易成功
    201——提示知道新文件的URL
    202——接受和处理、但处理未完成
    203——返回信息不确定或不完整
    204——请求收到,但返回信息为空
    205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件
    206——服务器已经完成了部分用户的GET请求

    300——请求的资源可在多处得到
    301——删除请求数据
    302——在其他地址发现了请求数据
    303——建议客户访问其他URL或访问方式
    304——客户端已经执行了GET,但文件未变化
    305——请求的资源必须从服务器指定的地址得到
    306——前一版本HTTP中使用的代码,现行版本中不再使用
    307——申明请求的资源临时性删除

    400——错误请求,如语法错误
    401——请求授权失败
    402——保留有效ChargeTo头响应
    403——请求不允许
    404——没有发现文件、查询或URl
    405——用户在Request-Line字段定义的方法不允许
    406——根据用户发送的Accept拖,请求资源不可访问
    407——类似401,用户必须首先在代理服务器上得到授权
    408——客户端没有在用户指定的饿时间内完成请求
    409——对当前资源状态,请求不能完成
    410——服务器上不再有此资源且无进一步的参考地址
    411——服务器拒绝用户定义的Content-Length属性请求
    412——一个或多个请求头字段在当前请求中错误
    413——请求的资源大于服务器允许的大小
    414——请求的资源URL长于服务器允许的长度
    415——请求资源不支持请求项目格式
    416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段
    417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求

    500——服务器产生内部错误
    501——服务器不支持请求的函数
    502——服务器暂时不可用,有时是为了防止发生系统过载
    503——服务器过载或暂停维修
    504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长
    505——服务器不支持或拒绝支请求头中指定的HTTP版本

    三、学习后总结,响应码来源于网络,如有错误,请指出,后续修正补充,谢谢!

    转载于:https://www.cnblogs.com/xiaozhaoboke/p/11185020.html

    展开全文
  • 首先要分析接口响应慢的具体原因,列出一些常见原因是不是资源层面的瓶颈(服务器性能问题)是不是缓存没添加,如果加了,是不是热点数据导致负载不均衡是不是有依赖于第三方接口是不是接口涉及业务太多,导致程序...

    bf35c2d27522ff827f05b2cf5845615c.png

    引言 本文主要针对SQL优化,缓存方面的优化,第三方接口方面的优化,资源瓶颈,业务方面的优化,网络io方面的优化等,来将项目中接口访问的优化

    一. 首先要分析接口响应慢的具体原因,列出一些常见原因

    • 是不是资源层面的瓶颈(服务器性能问题)
    • 是不是缓存没添加,如果加了,是不是热点数据导致负载不均衡
    • 是不是有依赖于第三方接口
    • 是不是接口涉及业务太多,导致程序跑很久
    • 是不是sql层面的问题导致的等待时机加长,进而拖慢接口
    • 网络层面的原因,带宽,DNS解析

    二.相应的解决方案

    • 资源紧张,加机器,SLB(负载均衡)搞起来
    • 加缓存可以解决的问题都不是什么大问题,存在热点数据可以将某几个热点单独出来用专门的机器进行处理,不要因为局部影响整体
    • 一方面与第三方沟通接口响应问题,另一方面超时时间注意把控,如果可以非核心业务能异步久异步掉
    • 把非核心的业务进行异步化操作(消息队列)。记住如果代码层面是非核心业务,但是会影响用户感知,需要慎重决定是否异步。
    • 如果是代码不良导致加锁了,尽量优化索引或sql语句,让锁的级别最小(到行),一般来说到行差不多了。如果是单个sql跑慢了,需要分析是不是索引没加或者sql选的索引错了,索引该加的就加了,该force index也加了。
    • 网路原因,需要联系运营商一起商量下怎么解决,单方面比较难有大的优化。
    展开全文
  • 作为产品线的支撑角色QA/CI/CD等,http api解析是...接口访问,返回的数据一般是json格式。 常见场景:对json格式数据的解析,取某个字段的值,做相应的判断。 任务: 假设刚部署出来的site的域名url为https://...

    转自:https://blog.csdn.net/hubanbei2010/article/details/79878567

    作为产品线的支撑角色QA/CI/CD等,http api解析是互联网公司中最常见的工作。

    接口访问,返回的数据一般是json格式。

    常见场景:对json格式数据的解析,取某个字段的值,做相应的判断。

    任务:

    假设刚部署出来的site的域名url为 https://qa-ultra-rds-96x.bbpd.io,现在检验version字段是否与预期相符。

    与开发同学沟通,得知version信息可以通过访问api(/ultra/api/v1/buildinfo)获取到。

    响应的数据为:

    {
      "name": "ultra",
      "version": "3400.3.0",
      "branch": "develop",
      "commit": "a8ccaeb2b1c6094d598932219bb32cf9fe0380",
      "timestamp": "1523024279567",
      "date": "2018-04-06_14-17-59",
      "buildNumber": "3033",
      "buildName": "ultra/ultra-ui/develop",
      "buildType": "webpack",
      "buildVersion": "3400.3.0-ci.3033+a8ccaeb2",
      "ultraVersion": "2018-04-06_09-38-20",
      "learnVersion": "3400.3.0-ci.2927+b960272",
      "webServerVersion": "2.0.16",
      "config": {
        "mode": "production",
        "uiVersioningEnabled": true,
        "staticAssetsDomain": "d2aqwpvls1cndj.cloudfront.net",
        "learnVersionMapping": [
          {
            "from": "0.0.0.0",
            "uiVersion": "2018-04-06_09-38-20"
          }
        ]
      }
    }

    SHELL脚本实现:

    curl -s --insecure https://qa-ultra-rds-96x.bbpd.io/ultra/api/v1/buildinfo|grep ' "ultraVersion"'|awk -F '"' '{print $4}'

    PYTHON脚本实现:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    import sys
    import json
    import requests

    def get_ultra_ui_version(base_url):
    version_url = base_url + '/ultra/api/v1/buildinfo'

    try:
    res = requests.get(version_url)
    print('respons status is %d' % res.status_code)
    ultraVersion = json.loads(res.text)['ultraVersion']
    print(type(ultraVersion))
    except Exception as ex:
    print('call api is failed and error message is :%s' % str(ex))
    print(ultraVersion)
    return ultraVersion 


    if len(sys.argv) >=2:
    base_url = sys.argv[1]
    else:
    print('parameters are missing')
    sys.exit()


    get_ultra_ui_version(base_url)

     

    总结:

    对比一下,
    发现不需要登录状态下,且只需要获取简单信息,不需要后续处理,api的访问使用shell比python要简单的多。

    如果涉及登录,可以借用python的requests库,可以实现较复杂的认证功能。且使用python库可以实现多请求的连续访问,多次请求之间有session的依赖关系。保持底层session不中断,可以减少建立tcp连接的次数,支持高并发。

    转载于:https://www.cnblogs.com/yadongliang/p/9665476.html

    展开全文
  • 首先要分析接口响应慢的具体原因,列出一些常见原因 是不是资源层面的瓶颈(服务器性能问题) 是不是缓存没添加,如果加了,是不是热点数据导致负载不均衡 是不是有依赖于第三方接口 是不是接口涉及业务太多,导致...
  • Http常见响应

    2020-12-28 15:28:51
    记录下常见的约定成俗的状态码 这些状态码一般在各种程序里的含义都一致,记住这些状态码,在看接口问题时一般可快速定位多半问题。 而有些状态码如:100001,诸如此类的是开发自定义的状态信息,可以自行与开发...
  • 接口响应状态码(大全):

    千次阅读 2020-05-04 16:29:55
    (加粗的为常见的状态码) 1.表示临时响应并需要请求者继续执行操作: 100 ==(继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的 第一部分,正在等待其余部分。 101 == (切换协议) 请求者已要求...
  • java常见事件响应方法实例汇总

    千次阅读 2015-05-10 20:42:06
    本文实例汇总了java中常见的事件响应方法,包括容器类监听、监听器类、AbstractAction、反射等。以方便大家参考。具体方法如下: 首先,在Java图形用户界面中,处理事件时所必须的步骤是: 1、创建接受响应的组件...
  • 常见接口类型

    2020-08-05 10:55:22
    常见接口类型 HTTP接口 通过http协议传输的接口,可以传输文本表单数据,也可以传输json类型的对象数据或XML类型的数据 RPC RPC:远程方法调用,随着分布式系统的出现,当你需要调用部署到其他服务器上的方法时,...
  • 本文实例汇总了java中常见的事件响应方法,包括容器类监听、监听器类、AbstractAction、反射等。以方便大家参考。具体方法如下:首先,在Java图形用户界面中,处理事件时所必须的步骤是:1、创建接受响应的组件(控件...
  • 本章节会着重讲一下接口测试点,感觉不错的话,动一下小手手点个赞;感觉不够完美,用你的小手手写个评论;让我们奔走在更佳美好的康庄大道上!哈哈哈~ 一、单接口测试: 覆盖独有必选参数 ...平均响应时间/最大
  • 常见响应状态码

    2018-12-13 15:45:27
    在进行请求接口时,针对不同的状态码,我们需要去做出不同的处理。这儿总结几个常用的状态码,方便今后查阅。 http状态码:http://www.runoob.com/http/http-status-codes.html ...
  • 什么是接口接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。 接口都有哪些类型? 接口的...
  •  在工作中,常见某个功能的查询,当查询关联表特别多时,开发写的SQL语句等等问题导致响应时间较慢,那么作为测试需要将每个接口响应时间进行测试,对同个接口多次执行,并将测试结果写入到excel,方便后期的接口...
  • 接口测试过程中经常会根据返回的状态码来判断这个接口是否正常,我们常见可能就是100,200,400,500,但其中也有很多不是经常遇到的,我就在平时遇到加网上搜索一起整理后,希望与大家分享学习!
  • 信号常见接口函数

    2020-08-08 14:26:32
    信号总共有四种响应方式: 第一种:信号的默认响应动作(就是linux系统已经规定好的) 第二种:改变信号的响应动作 第三种:信号的忽略 第四种:信号的阻塞(信号的屏蔽) 以下为Linux的64种信号: 绝不部分信号默认...
  • 常见接口类型HTTP接口:通过http协议传输的接口,可以传输文本表单数据,也可以传输json类型的对象数据或XML类型的数据web service:基于SOAP协议的一种RPC实现方案。相比传统的HTTP接口只传输文本请求和文本响应...
  • 常见接口类型HTTP接口:通过http协议传输的接口,可以传输文本表单数据,也可以传输json类型的对象数据或XML类型的数据web service:基于SOAP协议的一种RPC实现方案。相比传统的HTTP接口只传输文本请求和文本响应...
  • (2)响应断言是最常见的一种断言,而json assersion只支持针对响应结果为json格式的数据进行断言 二、、断言使用 接口信息:用户登录接口响应结果为json格式 1、响应断言: (1)右键添加–断言–响应断言,...
  • 接口请求的六种常见方式

    千次阅读 2020-11-26 18:35:11
    接口请求的六种常见方式: 1、Get 向特定资源发出请求(请求指定页面信息,并返回实体主体) 2、Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改 3、Put 向...
  • 通过实现Listener接口的类可以在特定事件(Event)发生时,呼叫特定的方法来对事件进行响应。 一、Servlet中的Listener和Event:共有八个Listener接口,六个Event类别。 1、ServletContextListener接口 [接口方法] ...
  • 接口测试时,会出现响应数据是乱码的问题,如下图:   解决方法如下: 方法一、 在HTTP请求中将Content encoding设置为utf-8 方法二、 在jmeter的安装路径下找到jmeter.properties文件,本主的路径是C:\...
  • Jmeter在访问接口的时候,响应内容如果有中文可能会显示乱码,原因应该是响应页面没有做编码处理,jmeter默认按照ISO-8859-1编码格式进行解析 1.1 改配置文件 进入Jmeter的bin目录下,找到jmeter.properties文件,以...
  • 在iOS中只有继承UIResponder的对象才能够接收并处理事件,UIResponder 是所有响应对象的基类,在UIResponder类中定义了处理上述各种事件的接口。我们熟悉的 UIApplication、 UIViewController、 UIWindow 和所有继承...
  • 在iOS中只有继承UIResponder的对象才能够接收并处理事件,UIResponder 是所有响应对象的基类,在UIResponder类中定义了处理上述各种事件的接口。我们熟悉的 UIApplication、 UIViewController、 UIWindow 和所有继承...
  • SpringBoot 内置了一个 /error 处理,当抛出异常之后,会被转到这个映射进行处理, 就是常见的 Whitelable Error Page 另外一种就是使用ajax请求,SpringBoot会返回如下的Json格式字符串信息‘’ 原理很简单,...
  • 一....其他参考资料:请先建立如下常见概念:web服务器:nginx,apache,uWSGI,tornado,flup协议:wsgi(用于web服务器和python的web程序间通讯)uwsgi(专用于uWSGI这种python web服务器)cgi(一...
  • 接口

    2021-05-14 19:08:43
    接口BS与CS优缺点对比http请求方式Get与post请求的区别保存会话的两种技术什么是接口接口的分类:常见接口测试工具实现原理接口测试工具PostmanGet请求Post请求接口测试用例文档postman的使用全局变量的使用 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 935
精华内容 374
关键字:

常见接口响应