最佳接口测试实例(接口测试最佳实践)

网友投稿 455 2023-01-07


本篇文章给大家谈谈最佳接口测试实例,以及接口测试最佳实践对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享最佳接口测试实例的知识,其中也会对接口测试最佳实践进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Postman接口测试之:Postman实现接口请求(1)

课程实例使用的url地址汇总:

开源接口部分:  https://api.apiopen.top/api.html

1、获取时间get接口 http://poetry.apiopen.top/getTime

2、网易新闻post接口 https://api.apiopen.top/getWangYiNews

3、百度ip接口 https://sp1.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=12.12.12.12co=resource_id=5809t=1636461955537ie=utf8oe=gbkcb=op_aladdin_callbackformat=jsontn=baiducb=jQuery110206769724197850711_1636461449011_=1636461449013

电商项目部分: 电商网站: http://www.testingedu.com.cn:8000/

4、电商登录接口:http://www.testingedu.com.cn:8000/index.php?m=Homec=Usera=do_logint=0.9806405470978172

5、文件上传接口 :http://www.testingedu.com.cn:8000/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html

自动化平台项目:平台网站: mypro/#/login

6、平台登录接口:mypro/api/user/login

Token接口项目:Token项目网站: http://www.testingedu.com.cn:8081/inter/

7、Token项目 SOAP接口:http://www.testingedu.com.cn:8081/inter/SOAP?wsdl

1、 Postman 安装之后, 可以进行一下更新。

使用的时候最好可以注册一个账号。

先创建一个workspace,用于管理接下来使用过程中产生的内容。

2、接口测试的基本流程: 本质就是抄。

1、了解接口信息 : 由开发提供接口文档, 或者通过抓包来获取接口报文信息。

2、 设计测试用例

3、 执行测试用例: 用postman等工具执行。 请求发包。

4、验证返回结果。

3、 HTTP协议接口报文: 理解成寄快递。

接口报文分为请求和返回,格式其实是相同的。

请求

请求四要素: http方法 、url地址、请求头 、请求体。

请求行: http方法(邮寄方式) url(地址) http协议版本

请求头: 键值对格式 ,键:值 用换行分割的方式。 (快递单)

除了特殊指定的要填的请求头以外,注意 post请求 需要关注content-Type请求头,表示的是请求体的编辑格式。(快递的运输方式 常温/冷冻)

常见的content-Type类型:

application/x-www-form-urlencoded: url编码格式: 键=值键=值

application/json: json格式字符串: {"键":值,"键":值}

postman选 raw格式之后,下拉栏选择json

注意:复制json格式的请求体的时候,如果从浏览器开发者工具中复制,记得确认键必须带双引号。最好view source 之后再复制。

multipart/form-data: 用于进行文本和文件的混合传递。 完成文件上传。

选择posmtna中的 form-data进行参数填写。

注意: Name空格中,可以选择下拉 file或者text。

文件用file上传,文本用text上传。

text/xml: 用xml格式来进行传递。 <键值</键

选择 body中的 raw格式 ,下拉栏用xml进行填写:

注意:content-type postman会默认使用 application/xml,需要自己确认,到底是text/xml还是application/xml,如果不对,进行修改,最后是直接去掉原有的,加一个新的content-type头。

请求体 : 请求头之后空一行 ,之后的就是请求体。 (寄的东西)

返回

返回行:http协议版本 HTTP状态码(物流状态) 状态码描述

返回头: 键值对格式 ,键:值 用换行分割的方式。 (快递单)

返回体 :返回头之后空一行,就是返回体 (对方寄回的东西)

返回:重点验证返回体。

4、http协议抓包:

使用浏览器开发者工具抓包:

在网页上右键检查,或者按下F12,打开开发者工具,切换到network 界面。

注意:记得勾选 preserve log。

请求体中:request payload (json格式、xml格式和普通文本) 和form data (文件和x-www-form-urlencoded格式)

使用 fiddler /charles 等http抓包工具抓包:

在fiddler菜单右侧,用inspector 选项进行查看,选raw(原始)格式能够直观看到报文格式。

http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

http协议是基于url地址的资源请求协议

5、用postman发送报文请求:

1、http 方法 和 url 进行填写。 注意 url中最后带上的空格也会有影响,所以千万注意。

2、请求头一般先不做过多关注,先用默认的,除非有明确的说明需要设置某个请求头。

3、请求体在postman 请求栏的body中进行设置。选择相应的content-type格式进行编辑,可以自动设置,不用自己设置 请求头中的 content-type。

6、unicode编码: \u 4位16进制数,用于表示某个特殊的字符。

例如:\u7f8e\u56fd\u963f\u62c9\u65af\u52a0

7、get和post的核心区别:

get方法,通常不带请求体。

而post方法可以携带请求体。

END

接口自动化测试测试用例设计

浅谈接口自动化测试测试用例设计

一、   前言   

很多中台项目,大部分为接口测试。为了使新入职的测试同事尽快融入项目,以及迭代开发中方便管理测试用例。完成该总结。

二、   测试用例设计思路   

1、 接口类型概述及优先级  

1) 提供给第三方调用的接口  

2) 内部系统使用,核心功能接口  

3) 内部系统使用,非核心功能接口  

基本按照1)2)3)的顺序进行测试,特别情况除外

2、 单接口测试优先级  

1) 优先测试正向测试用例,保证基本功能实现  

2) 设计逆向测试用例,确保接口的健壮性  

3) 满足前提条件的测试用例  

4) 默认参数是否满足  

5) 参数校验  

6) 参数间联动关系

7)多参数错误处理的优先顺序校验

三、   设计分析   

1、 满足前提条件的测试用例  

测试目标接口需要满足前置条件才能成功获取数据。

例如:需要登录token,通过传入参数获取下游接口数据

2、 携带默认参数的测试用例  

携带默认参数的测试用例仅需要设计一条,所有默认参数的字段都不填写,其他字段输入正常。

[if !supportLists]3、 [endif]参数校验  

参数校验包含如下几方面:

[if !supportLists]1)[endif]输入参数是否为必须输入项

[if !supportLists]2)[endif]输入参数的类型

[if !supportLists]3)[endif]输入参数的枚举值校验

[if !supportLists]4)[endif]输入参数长度校验

以上测试用例最好根据字段一一校验,排除互相干扰

[if !supportLists]4、 [endif]参数间联动  

有些参数见存在彼此制约的关系,根据实际情况设计测试用例

例如:A字段为1时,B字段一定为空。否则报错。

那么测试用例设计时应为:A字段为1时,B字段为空;A字段为1时,B字段不为空;A字段不为1时,B字段为空;A字段不为1时,B字段不为空;四条测试用例

这样基本覆盖所有分支流程。

[if !supportLists]四、 [endif] 测试用例实践操作

接口测试用例样例:

多条件查询接口

测试方法:使用robotFramework测试doubbo接口

协议请求方式:post

接口协议:JSON

消息请求列表

字段名数据类型默认值必须项备注

IDint 是长度为2

Tokenstring 是设备令牌

Statusstring 是1:正常

2:异常

typeint  Status为1时,为必须输入项

sizestring  默认值
消息返回列表

字段名数据类型必须项备注

Codeint是正常:20000

异常:20001

Messagestring是 

typeMessageint Status=1的所有ID

 

用例设计

 

NO. 测试内容 前置条件 输入参数 输出参数 用例属性

1目标数据为一条预置一条符合条件的数据Status=1,其他参数输入正常返回code=20000

typeMessage中返回的ID与预置数据一致

正向测试用例

2目标数据为多条预置多条符合条件的数据Status=1,其他参数输入正常返回code=20000

typeMessage中返回的ID与预置数据一致

正向测试用例

3 Token必须项检查 预置多条符合条件的数据Status=1,token输入为空,其他参数输入正常返回code=20001

typeMessage中返回为空

满足前提条件

4 Token正确性检查 预置多条符合条件的数据Status=1,token输入错误,其他参数输入正常返回code=20001

typeMessage中返回为空

满足前提条件

5 Status 必须项检查 预置多条符合条件的数据Status为空,其他参数输入正常返回code=20001

typeMessage中返回为空

参数校验

6 Status枚举预置多条符合条件的数据Status为1,其他参数输入正常返回code=20000

typeMessage中返回的ID与预置数据一致

参数校验

7 Status枚举预置多条符合条件的数据Status为2,其他参数输入正常返回code=20000

typeMessage中返回的ID与预置数据一致

参数校验

8 Status枚举预置多条符合条件的数据Status为3,其他参数输入正常返回code=20001

typeMessage中返回null

参数校验

9 Status=1,时联动校验预置多条符合条件的数据Status为1,type为空;其他参数输入正常返回code=20001

typeMessage中返回null

联动校验

10 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type为空;其他参数输入正常返回code=20000

typeMessage中返回对应ID

联动校验

11 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type不为空;其他参数输入正常返回code=20000

typeMessage中返回对应ID

联动校验

12 Size默认值输入校验预置多条符合条件的数据Size输入为空,其他参数输入正常返回code=20000

typeMessage中返回对应ID

默认值校验

13 Size默认值输入校验预置多条符合条件的数据Size输入不为空,其他参数输入正常返回code=20000

typeMessage中返回对应ID

默认值校验

14 ID 必须项检查 预置多条符合条件的数据ID为空,其他参数输入正常返回code=20001

typeMessage中返回为空

参数校验

15 ID 长度检查 预置多条符合条件的数据ID长度大于2,其他参数输入正常返回code=20001

typeMessage中返回为空

参数校验

16 破坏性测试预置多条符合条件的数据输入的参数类型错误请求未接收,返回404 稳定性测试

17 破坏性测试预置多条符合条件的数据输入的参数与提供的参数名称不一致请求未接收,返回404 稳定性测试

18 破坏性测试预置多条符合条件的数据输入的参数与提供的参数数量不一致请求未接收,返回404 稳定性测试

19 破坏性测试预置多条符合条件的数据输入的参数与提供的参数格式不一致请求未接收,返回404 稳定性测试

 

总结:自动化测试过程中会有一条自动化测试用例覆盖多种情况的可能(例如:正向测试用例与联动性验证的 Status=1,type输入不为空的测试用例重复,所以选择一条用例验证 。 ),以上的测试用例满足自动化的要求,手动测试过程中需要增加部分验证性的测试用例。且由于使用的测试工具特殊性,无需检查输入参数的类型。

使用python+selenium怎样做接口测试?求实例

要看最佳接口测试实例你是什么样最佳接口测试实例的接口
比如比较简单的http service 的接口,需要提供接口的访问地址,访问方式(GET最佳接口测试实例? POST?PUT?DELETE?),以及参数
然后用python来模拟发出请求,得到接口的返回,返回是否正确
最佳接口测试实例你做测试,肯定清楚什么样的输入输出是正确的

SoapUI之http接口测试

http接口实例说明

关于实例,涉及项目机密不便于透露,所以直接从聚合数据平台申请最佳接口测试实例了一个http接口数据来做演示。大家也可以注册这个平台实名认证后申请免费数据来练习。

周公解梦API:

包括类型、解梦查询、根据ID查询解梦信息3个接口;每个接口都有详细的说明:接口地址、返回数据格式、请求方式、请求参数说明、返回参数说明等。

这里重点介绍下每个接口的地址、请求方式、请求参数,等下做接口测试的时候就清楚要怎么做最佳接口测试实例了。

梦境类型接口:

注意:key值是注册平台并实名认证后自动生成的,可以理解为要用这个平台数据的一个通行证。

如何做接口测试

1、可以使用postman软件进行接口测试,这里以较复杂的上传图片的接口为例进行测试,首先打开postman软件选择Post方式,输入后台接口调用地址。

2、然后填写Headers,注意这里的Headers部分不要写任何东西,如果之前是有Content-Type头信息, 那么就会上传失败。

3、接着填写Body,选择form-data,填写Key后台规定的接收文件的名称参数,格式选择为File,此时value会自动变成选择文件。

4、最后点击Send,可以发现下方返回了接口的响应,说明上传图片是成功的,这样简单的图片上传的接口测试就完成了。

使用Jmeter进行http接口性能测试

在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。

但是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试,就必须借助其他的工具了,这里推荐功能强大的JMeter自动化测试工具

Apache JMeter - Apache JMeter™

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

下面就以上图的Restful类型的接口为例简单介绍使用Jmeter进行接口测试的方法。

获取某个具体网关设备的基本信息。

请求

方法:GET

URI:/api/gatewaygateway_id

参数:

在HTTP请求(http request)的头部(header)添加Userid和Token字段作为用户验证字段

响应

返回值:JSON格式的网关信息

参数:

.启动jmeter:在bin下以管理员身份运行jmeter.bat,启动jmeter

2. 创建测试计划:

默认启动jmeter时会加载一个测试技术模板,保存测试计划:修改名称为Apitest,点击保存,选择保存路径,后面的步骤,每次添加或修改了了一些选项,软件并不会自动保存到jmx文件中,所以进行测试后,如果需要保存本次测试选项,要手动到“文件”菜单中保存一下。

3. 添加线程组

右键左边树中的测试计划“Apitest”节点,“添 加”→”Threads”→”线程组”

添加成功后,“Apitest”节点下多了“线程组” 节点,当然这个线程组的名称是可以自己设定的。

4. 添加http默认请求:(用来配置公共参数,不是http请求)

右键线程组,选择“添加”→ “配置元件”→“HTTP请求默认值”,点击“HTTP请求默认值”后

添加成功后,线程组”节点下多了“HTTP请求默认值”节点

这里可以设置主机地址等一下公共参数,比如我们的例子中请求路径前面都是主机地址+index.php,就可以统一在"http请求默认值"里设置

填写默认请求名、服务器、默认请求路径,保存测试计划。

5.添加http请求信息头

这一项并不是必须的,只不过我们的例子中使用了Userid和Token放在HTTP请求头中用作用户验证

右键“Apitest”,选择“添加”→ “配置元件”→“HTTP信息头管理器”

6. 添加http请求

右键“Apitest”,选择“添加”→ “Sampler”→“HTTP请求”

添加成功后,出现新的节点“HTTP请求”,就可以填写具体的请求参数了。

填写完成,保存测试计划

7. 添加监听器:

右键线程组,选择“添加”→“监听器”→“XXXXXXXXX”

可以添加的监听器有很多种,可以添加多个监听器,这里我们添加几个常用的“图形结果”、“察看结果树”、“聚合报告”

添加成功后,“线程组”下增加了几个节点

8. 试运行

点击执行

可以查看各个“监听器”的结果

Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

Median:中位数,也就是 50% 用户的响应时间

90% Line:90% 用户的响应时间

Note:关于 50% 和 90% 并发用户数的含义,请参考下文

http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

9. 修改线程组的线程数等参数,用于压力测试

点击左侧树形导航中的“线程组”

设置上面几个参数,模拟的总的请求数是:线程数*循环次数。执行一下,用“图形结果”监听器查看一下

样本数目:总共发送到服务器的请求数.

最新样本:代表时间的数字,是服务器响应最后一个请求的时间.

吞吐量:服务器每分钟处理的请求数.

平均值:总运行时间除以发送到服务器的请求数.

中间值:时间的数字,有一半的服务器响应时间低于该值而另一半高于该值.

偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布. 关于最佳接口测试实例和接口测试最佳实践的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 最佳接口测试实例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口测试最佳实践、最佳接口测试实例的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:最佳接口测试视频(接口测试教程)
下一篇:java实现导出Excel的功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~