首页 > 其他分享 >接口面试题

接口面试题

时间:2024-06-22 17:54:57浏览次数:25  
标签:面试题 HTTP 请求 接口 SERVER 响应 bug

postman接口测试,它有一个功能可以设置参数化,你有用过吗?多接口怎么测?

(1)有
(2){{}}、a、设置环境变量、b、在run中通过导入csv文件引用变量
(3)postman里面有一个批量处理,将多个接口放至一个项目文件夹中,点击run,选择环境变量、修改运行次数和延迟秒数、选中csv文件,点击运行进行测试

你测试过哪些接口

按接口类型分:

http 接口 webserver 接口

按一般项目中接口分:

登录接口;添加用户接口;查询栏目接口;文章管理接口,删除用户接口 删除栏目接口;

电商项目接口包括:

a.基础资料上传接口、b.商品下架接口、c.商品资料变更接口、d.店铺基础信息上传接口、e.商品价格、库存同步接口、f.获取电商订单信息接口、g.调换货接口、h.退货接口、i.会员资料获

有做过接口测试吗?接口测试你们是怎么测的?(postman)

(1)做过

(2)a、讲解接口测试流程:
情况一:有接口文档的情况
步骤:
(一)从开发哪里拿到接口文档
(二)接口文档中有接口的参数,
(三)根据接口文档编写接口用例
(四)评审接口用例
(五)部署环境
(六)使用接口测试工具进行接口测试
(七)有bug就通过bug管理工具提交给开发修改
(八)修改好bug,在验证bug,在关闭bug
(九)在输出接口测试报告

(2)情况二:没有文档的情况
(一)通过fiddler抓包工具抓接口
(二)抓接口的参数,
(三)根据接口文档编写接口用例
(四)评审接口用例
(五)部署环境
(六)使用接口测试工具进行接口测试
(七)有bug就通过bug管理工具提交给开发修改
(八)修改好bug,在验证bug,在关闭bug
(九)在输出接口测试报告

讲解方法b:通过postman工具来测试:比如
我做的借款接口、打开postman,选择post请求,因为入参,填写接口路径(协议+ip/域名+接口路径),点击body选择入参格式,输入参参数如下:
{
"code": "ABCDEF",
"method": "loanCalculate",
"data": {
"loanAmount": 100000,
"loanTerm": 15
},
"sign": "{签名规则参考 接口请求签名章节}",
"timestamp": 1500693926
}
参数输入好以后,在test中进行断言,一般断言响应状态码、响应内容、响应时间
tests["Body is correct"] = responseBody === "response_body_string";
tests["Respone time is less than 200ms"] = responseTime < 200;
tests["Status code is 200"] = responseCode.code === 200;
选择一个环境,点击send发送;
在先看响应头和响应体内容:根据业务逻辑:
成功返回:
{
"code": "success",
"message": "请求成功",
"result":
"repayAmount":115000,
"receiveAmount":100000,
"interestFee":10000,
"serviceFee":5000,
"serviceFeeDesc":""
}
}
如果请求失败则返回:
{
"code": "error",
"message": "验签失败"
}
关联接口、依赖接口、接口参数

get和post请求的区别

a、get的参数在url上,post的入参在body中
b、get的请求速度高于post
c、post的请求的安全性高于get请求
d、post请求参数的大小不限制,get的请求参数大小有限制
e、post的请求参数格式可以多种,get的请求参数就只有字符格式
f、get请求可以被缓存,post不会被缓存

接口请求的基本结构

1、请求协议
2、请求方法
3、请求地址(域名和ip地址)
4、请求路径
5、请求的入参格式
6、接口请求的端口号

业务中接口测试的业务请求是怎样的?

比如:登录接口:http://cms.duoceshi.cn/manage/loginJump.do
更改入参参数:
userAccount:
loginPwd:
业务:
a、登录成功,
b、登录帐号不存在!
c、登录帐号不能为空!
d、登录密码不正确!
e、"登录密码不能为空!",

调用接口异常有哪些测试点?

1、提交时快读多次点击,频繁添加删除
2、幂等校验(或重复提交)
3、连接超时或者失败时需重试
4、缓存测试(缓存失败、缓存溢出、)
5、多参数
6、少参数

postman是怎么处理接口超时的?

a、如何测试接口超时:
image
b、超时问题定位:定义超时时间、重试机制、分析日志(显示tineout)和监控,

一个完整的请求有哪几部分组成?

请求头 请求体 响应头 响应体

请求方式有哪些?

get post put delete

请求正文的文本格式?

image
form-data
x-www-form-urlencode
raw
json
text
binary

请求头包含哪些内容

  1. User-Agent:标识客户端使用的浏览器和操作系统信息。可以通过$_SERVER['HTTP_USER_AGENT']获取。
  2. Accept:指定客户端能够处理的内容类型,即可接受的媒体类型。可以通过$_SERVER['HTTP_ACCEPT']获取。
  3. Content-Type:指定请求体中的数据格式类型。常见的取值有application/json、application/x-www-form-urlencoded等。可以通过$_SERVER['CONTENT_TYPE']获取。
  4. Authorization:用于进行身份验证的凭证信息。常见的取值有Bearer Token、Basic Authentication等。可以通过$_SERVER['HTTP_AUTHORIZATION']获取。
  5. Cookie:包含来自客户端的Cookie信息。可以通过$_SERVER['HTTP_COOKIE']获取。
  6. Referer:指示当前请求是从哪个URL页面发起的。可以通过$_SERVER['HTTP_REFERER']获取。
  7. Host:指定服务器的域名或IP地址。可以通过$_SERVER['HTTP_HOST']获取。
  8. X-Requested-With:指示请求是否由Ajax发起的。通常在Ajax请求中会设置该头部字段,取值为"XMLHttpRequest"。可以通过$_SERVER['HTTP_X_REQUESTED_WITH']获取。
  9. Content-Length:指定请求体的长度。可以通过$_SERVER['CONTENT_LENGTH']获取。
  10. Cache-Control:控制缓存行为的指令。用于指定客户端和代理服务器如何缓存响应。可以通过$_SERVER['HTTP_CACHE_CONTROL']获取。

响应头包含哪些内容

HTTP/1.1:表示超文本传输协议 版本为1.1版本 URL统一资源定位符
响应状态:200
Server:服务器名称 Server: Apache/2.4.1 (Unix)
Set-Cookie:设置HTTP Cookie Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
Content-Type:设置响应体的MIME类型 Content-Type: textml; charset=utf-8
Transfer-Encoding:设置传输实体的编码格式,目前支持的格式: chunked, compress, deflate, gzip, identity
Date:设置消息发送的日期和时间 Date: Tue, 15 Nov 1994 08:12:31 GMT #接口响应时间

常见的http响应状态码

200 (状态码)ok
301 (资源 网页等)被永久转移到其他URL
404 请求的资源网页等不存在
500 内部服务器错误

postman 如何设置断言

在tests中可以在右边的框中设置断言
image一般选择三个
断言状态码
断言时间
断言响应内容

postman 如何设置全局变量和环境变量

接口测试用例设计主要考虑哪些方面

fiddler如何抓包

22.fiddler如何设置断点,为什么设置断点
在rules中开启断点,关闭断点

1、before response:这个是打在request请求的时候,未到达服务器之前 (before之前)

2、after response:也就是服务器响应之后,在Fiddler将响应传回给客户端之前。

命令行方式:

修改Request:bpu (拦截发给指定服务器的请求)

清除断点拦截:bpu

修改Response:bpafter(拦截指定服务器返回的session)

清除断点拦截:bpafter

接口测试可以不需要管前端的,主要测后端的功能有一个程序出错了,大致猜出可能在某处会出错,就在那里下一个断点。调试程序,执行到那里,程序会停下来,这时可以检查各种变量的值,然后按步调试运行,观察程序的流向及各个变量的变化,便于快速排错。

23.fiddler如何手机代理,抓app包
抓取安卓手机(wifi 修改代理)

抓取ios手机

  1. 开发者工具F12如何查看接口请求
    1、在相应界面点击F12

2、打开F12窗口以后,点击“网络”页签。

3、然后选择相应的接口

4、在右侧就可以看到请求url、请求方法和状态码了。

5、在接口连接上面也可以看到。

标签:面试题,HTTP,请求,接口,SERVER,响应,bug
From: https://www.cnblogs.com/sml2222/p/18248560

相关文章

  • Java 接口
    本篇学习接口,并区分接口与抽象类两者之间的异同点。上篇已经讲解了抽象类,有需要的小伙伴可以点链接康康https://blog.csdn.net/m0_73107796/article/details/139863674目录1、什么是接口2、接口定义格式3、接口的使用 4、接口特性5、抽象类与接口的区别 1、什......
  • .NET面试题系列(24)值类型总是分配在栈上吗?
    序言不是,比如下面三种情况:1、引用类型内部的变量,即使是值类型,也会随同引用类型的实例一起被分配在堆上。2、对于值类型的数组,由于数组是引用类型,数组内的值类型元素,也被分配在堆上。3、对于闭包,如下:                Action<int>act=a=>        ......
  • stm32 sai 接口调试总结
    一概念STM32的新片子的音频外设叫SAI了,S就是Serial,A就是Audio,I就是Interface,还是挺好记的.究竟新在哪里,就是支持音频各种了,但是实际上用到的,基本上还都是I2S居多。这里给出I2S的stm32配置做一个总结。二参数配置1.接口和时钟配置图: 2.源码解析......
  • 【仿真建模-anylogic】INetwork相关接口说明
    Author:赵志乾Date:2024-06-22Declaration:AllRightReserved!!!1.类图2.说明    INetwork为辊道网络、路线网路的顶层接口,其组成元素有节点和路径两种,对应的接口为INode、IPath;2.1INetworkMarkupElement核心方法如下://获取标记元素所在的网络INetworkgetNetwo......
  • STM32硬件接口I2C应用(基于FT6336)
    目录概述1硬件介绍1.1 ST7796-LCD1.2MCUIO与LCDPIN对应关系1.3 MCUIO与Touch PIN对应关系2FT6336的寄存器2.1FT6336寄存器列表2.2寄存器功能介绍 3STM32Cube控制配置I2C3.1 软硬件版本信息3.2 I2C参数配置3.3 使用STM32Cube产生工程4HAL库函数......
  • Unity 面试题(后续或许会更新)
    C#相关请简述拆箱和装箱装箱操作:值类型隐式转换为object类型或由此值类型实现的任何接口类型的过程。1.在堆中开辟内存空间。2.将值类型的数据复制到堆中。3.返回堆中新分配对象的地址。拆箱操作:object类型显示转换为值类型或从接口类型到实现该接口值类型的过程。1.判断......
  • 接口异步回调
    接口异步回调有些接口,内部逻辑非常复杂,非常耗时。可以通过接口异步回调来实现,避免超时。比如,系统A的A1接口调用系统B的B1接口,系统B在完成功能后,系统B回调系统A的另一个接口A2。小心第三方系统不回调一定要做主动查询。如果第三方系统不回调,也能通过主动查询,根据......
  • 面试题(TCP/IP协议)详解三次握手
    TCP/IP协议中的三次握手我们首先来了解一下TCPTCP(TransmissionControlProtocol,传输控制协议)是一个面向连接的、可靠的、基于字节流的传输层通信协议。以下是TCP的一些主要特点:面向连接:在数据传输之前,TCP必须先建立连接(三次握手),在数据传输结束后,还要终止这个连接(......
  • 『FPGA通信接口』LVDS接口(4)LVDS接收端设计
    文章目录1.LVDS接收端概述2逻辑框图3.xapp855训练代码解读4.接收端发送端联调5.传送门1.LVDS接收端概述接收端的传输模型各个属性应该与LVDS发送端各属性一致,例如,如果用于接收CMOS图像传感器的图像数据,则接收端程序的串化因子、通道个数等将要与设备一致。在硬件设......
  • 【unity开发】 C#接口使用小结(持续更新)
    C#的接口(interface)早些时候我认识的接口仅仅只是作为一个方法签名来使用但是随着学习的深入,就我感觉而言,我所认识的接口又越来越像一个抽象类了1.最基本的使用作为一个接口提供公共方法用玩家的交互判断来举一个例子吧!接口也支持使用泛型再举一个手动实现拷贝方法的接口......