本篇文章给大家谈谈网页接口测试,以及网页链接测试对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享网页接口测试的知识,其中也会对网页链接测试进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
接口测试怎么才能做好?
这个问题还是从需求、测试用例设计、执行来说吧。
A.需求
首先要了解这个接口提供的服务的需求定义,那么我们就知道大概测试的结果是啥。同时理论上要先提供接口规范,方便后续测试,以及给调用者联调的一个文档约定。
B.测试用例设计
根据测试的接口规范,基于业务进行场景设计,再结合边界值设计方法、等价类划分等常用设计方法进行用例设计。
1.设计的方向是常规的测试用例设计:协议规范测试、接口入参、接口出参。
协议规范测试:比如HTTP协议:URL地址、Header测试。不过一般情况下,默认调用者按照接口规范正常调用。这个不用过于详细测试。
2.接口入参:参数个数测试(注意是否必传字段),参数值测试(为空、正常值、非法值等,以及首尾有空格是否过滤)。
3.接口出参:至少涵盖一条成功的响应和一条失败的响应,当然我们测试出更多错误码,我们的覆盖率也就更全面。
4.业务场景用例: 这个需要你对于这个接口的业务的了解程度,而且这是最重要的部分。
比如中间使用了缓存服务(第一次缓存没有,是不是直接读数据源,并存入缓存;第二次直接读取缓存是否正确);
比如需要考虑请求外部的接口获取相应的信息的时间损耗(连接不上外部接口,外部接口下线了,外部接口响应太慢);
C.测试用例执行
1.需要你对接口协议有一定的了解,选择适当的开源工具(如postman)或者自己编写脚本进行模拟请求。
2.需要熟悉接口所使用的中间件等知识(比如redis、kafka、mysql数据库)。
3.需要模拟外部接口返回给你现在正在验证的程序的接口。(比如扣费业务,你不可能每测一个业务,就去调真实扣费)。
是web开发接口吗?建议使用Postman
一、什么是接口?
接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。
二、 常用接口采用方式:
1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有apipost、jmeter、loadrunner等;
2、http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和
post等方法,这也是最常用的两种请求方式。可以使用的工具有apipost、jmeter、loadrunner等;
三、前端和后端
前端:网站前端是对网页静态页面的设计,通俗的来说,就是我们肉眼能看的到的东西,当我们浏览网站的时候所看到的页面上的内容几乎都是属于前端,前端的工作就是网站页面,静态的页面是没有后端成分的,前端主要包括html和css外加js等一些样式和布局。
后端: 网站的后端就是动态网站的技术,比如网站上的一些注册登录和一些弹窗,这些都是后端的逻辑,常用的后端语言有php,jsp等,后端的数据库也包含myspl等,都是对后端进行存储数据。
四、 接口测试概念
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等(通俗来说就是,检查业务逻辑是否满足业务需求,校验字段是否正常你实际结果是否满足预期)
五、 接口的组成:
a、接口说明
b、调用url
c、请求方法(getpostput等)
d、请求参数、参数类型、请求参数说明
e、返回参数说明
六、为什么要做接口测试,接口测试的目标
接口其实app和前端交互用的,所以好多人问,为啥做功能测试还要测接口,目标是啥不是多此一举吗?首先我告诉大家,这种想法是错误的
那么举一个例子:
例如一个登陆接口,例如产品上规定用户名6-10个字符数字下划线,但后端没做判断。但我们业务人员测试肯定验证,但只是前端做了校验,后端压根就忘了这个小需求.那么后果来了如果一个懂的直接抓包去篡改你的接口,然后绕过校验,通过sql注入直接随意登录。如果你这是一个下单业务,是不是给公司造成了很大损失
所以此时此刻接口测试目标来了:
1.可能发现客户端没有发现的bug(那么也叫隐藏bug)
2.及早爆出风险(保证质量正常上线)
3.接口稳定了,前端随便改
4.最重要检查系统安全性,稳定性
七、如何进行接口测试
1.使用接口测试工具进行测试,接口测试和接口文档生成工具apipost,接口测试和性能测试工具jmeter
2.接口状态码表示含义
例如:200(成功)/300(重定向别的地方)/400(请求语法错误)/500(服务器异常)
测试点:
B. 参数组合(传入不同值)
C. 接口安全(绕过验证/绕过身份验证/参数是否加密等)
D. 异常验证(输入异常参数边界值)
练
一、什么是header
header:标头 (header) 是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔。
-----百度百科
header是发送请求时携带的头部信息。通常一些鉴权的信息:authentication/cookie、响应的数据格式:content-type等等的设置。当然响应的数据也会返回一些头部信息。
二、header头部参数对应含义
1、Request header:
User-Agent:告诉Http服务器,客户端使用的操作系统和浏览器名称和版本(这也是区分pc端或者app端的方式)
app端也可区分Android和iOS如图:
2、Clint头域:
Accept:浏览器端可以接受的媒体类型(MIME);
Accept-Charset:浏览器可接受的字符集;
Accept-Encoding:浏览器申明自己接受的编码方法,压缩方式,是否支持压缩,支持什么压缩方法
Accept-Language:申明自己接受的语言
clint头域的作用,客户端和服务器端要进行通信,那么客户端就得向服务器申明自己交流的方式(User-Agent)、交流的语言(Accept-Language)、交流的字体(accept-Encoding),已经客户端接受的内容(accept)等
3、Cache头域:
If-Modified-Since:把浏览器端缓存页面的最后修改时间发送到服务器上,服务器会把这个时间与时间文件的修改时间进行比对 ,时间一直返回304使用本地缓存数据,时间不一致返回200和新的文件内容,客户端接到之后会丢弃旧文件再把新文件缓存起来并显示在浏览器中 。
If-None-Match:和ETag一起工作,工作原理是HTTP Response中添加ETag信息,当用户再次请求该资源时,将在HTTP Request中加入If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),奖返回一个304状态告诉客户端使用本地魂村文件。否则将返回200状态和新的资源和Etage,使用这样的机制将提高网站的新性能。
Pragma:作用是防止页面被缓存,在HTTP/1.1版本中,它和Cache-Control:no-cache作用一模一样
Cache-Control:用来指定Response-Request遵循的缓存机制,如下:
Cache-Control:Public可以被任何缓存所缓存()
Cache-Control:Private内容只缓存到私有缓存中
Cache-Control:no-cache所有内容都不会被缓存
4、Cookie/Login头域
Cookie:最重要的header,奖cookie的值发送给HTTP服务器
5、Transport头域
Connection:连接的状态,keep-alive当打开一个网页后,客户端和服务器之前传输Http数据到TCP连接诶不会关闭,如果客户端再次访问这个服务器的网页,会继续使用这条已经建立的连接;close当打开一个请求完成后,客户端和服务器之前用于传输HTTP数据的TCP连接会关闭,当客户端再次发送请求,需要重新建立TCP连接
Host(发送请求时,该报头域是必须的):请求报头域而主要用于指定被请求资源的Internet主机和端口号,他通常从HTTP URL中提取出来的,host中端口号省却却表示默认端口后80
6、Entity头域
Content-Length:发送给HTTp服务器数据的长度
Content-Type:互联网媒体类型
7、Miscellaneous头域
Referer:提供Request的上下文信息的服务器,告诉服务器我是从哪个连接过来的。
8、Ajax请求方式
服务器判断request请求是同步还是异步,如果header中有X-Requested-With:XMLHttpRequest表示为异步请求,当X-Requested-With:null是为同步请求
三、接口测试工具
接口测试和接口文档生成工具:apipost
接口测试和接口性能测试工具:jmeter
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
关于网页接口测试和网页链接测试的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
网页接口测试的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于网页链接测试、网页接口测试的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~