用F12查看web端的页面做测试时,Elements代表前端页面的代码,web ui自动化时用的比较多;Console是控制台,当我们进行调试后哪个部分出现问题时,都会显示到控制台里,一般前端工程师用的多;Network是最重要的,做接口自动化时用的比较多;
如果前端和后台都可以实现的某个功能,优先前端去做。因为前端不需要调用服务器,后台只要进行操作就需要调用服务器。前端操作哪怕没有网也可以进行操作,如果是后台操作没有网就什么都显示不了。想要分辨哪些是前端写的哪些是后台写的,把网络关掉然后刷新一遍,能刷出来的就是前端写的,刷不出来的就是后台写的,前端内容刷出来一遍就会有缓存,后台没有就是没有。
需要增删改差数据时,都是后端操作。
F12,postman,fiddler 类似,都可以达到同样的目的,各有千秋
F12功能最弱,主要是查看接口和抓包,刷新后会显示不同类型的包
fiddler也可以抓包,但是还可以做弱网测试,断点调试等
只要知道路径 请求方式 状态码 就可以进行接口测试,通过接口文档就可以获取这些信息。
接口的RESTful结构
接口都遵循RESTful风格
RESTful架构是一种接口设计架构风格,而不是标准,只是提供了一组设计原则。
http://服务器地址:端口号[/项目名称/版本]** 资源 **
接口的划分:
协议 ——http://
域名—— www.baidu.com (ip+端口)
路径—— /…/…/……(所有的路径都是文件,比如C:\Users\jia\Documents\Downloads)
资源/参数—— 一般参数和路径之间用’?'隔开,参数之间用‘&’隔开
有状态和无状态
在接口中分为有状态的接口和无状态的接口
有状态和无状态是相对而言的
无状态是相对于有状态而言的
我们平常接触到的网站都是有状态的
如在OA中查看基本工资:
登录OA—>进入个人办公—>进入新资查询—>输入密码—>看到工资
后面的每一个状态都依赖于前面的状态,就是有状态。没有一个URL能够直接定位到张三的工资
而无状态则是可以不依赖于前面的状态而直接去访问我想要去访问的内容。对每个资源的请求,都不依赖于其他资源或其他请求,每个资源都是可寻址的,都有至少一个URL能对其定位
有状态和无状态的区别就是我是否可以直接定义到我想要的内容,如果可以就是无状态的,否则就是有状态的接口
HTTP请求方法
GET(select):从服务器取出资源(一项或多项)。
POST(create):在服务器新建资源。
PUT(update):在服务器更新资源(客户端提供改变后的完整资源)。
DELETE(delete):从服务器删除资源。
get和post的区别:
1.post比get更加安全,post不会作为路径URL的一部分,并且不会被缓存保存在服务器的日志或者浏览器的记录中。
2.post可以发送的数据更大更多,而get有长度的限制
3.get只能发送ascll的字符集格式,而post可以发送更多类型
4.post更多用于修改和写入数据,而get一般用在搜索、排序、筛选等
响应状态——状态码
客户端请求服务端后,服务器响应给客户端的状态码。
1xx:代表信息传递出变故(出现比较少)
2xx:代表成功
3xx:代表重定向(路径的位置出现问题)
4xx:代表客户端出现错误
5xx:代表服务器错误
接口的测试用例
一般包含接口名称、host、URL、请求方式、标题、参数、预期结果、实际结果、备注
也都是用等价类、边界值、必填项这类的测试方法去测
token、cookie、session
这三个东西都是保存数据用的
token是存储在客户端的,基本上是用在授权一个程序的登录上,通过token来确定你是否有权利去登录这个软件
cookie会把东西保存在本地的一个终端中,是由服务器生成的,然后发送给浏览器,浏览器把它以一个key:value的形式来进行保存。
cookie是在客户端存储的,可以帮我们减少服务器的压力。
session是保存在服务器的一种机制,它是使用服务器进行保存信息的机制,这种保存的机制叫做散列表。
我们更多使用cookie和token保存数据
保存无状态的http使用session,为无状态的http提供持久机制,session保存的数据都是比较安全的内容,保存在自己的服务器上
cookie和session的区别
session安全
cookie保存在客户端,session保存在服务器
session可以存的数据多,cookie有限制,保存的数据不超过4k,一般不超过20个cookie.
不是很重要的东西放到cookie里,重要的放在session中
对隐秘性要求高的,数据量比较小的,对服务器产生压力比较小的内容会保存在session中
经常要访问的,对隐秘性要求不高的内容会保存在cookie中
token和session的区别
举身份认证的例子
当认证身份时,token的安全性要比session更好
因为token的每个请求都有签名还能防止攻击,而session是通过链路层来保持安全的。
session的数据是通过一个层次直接保存在服务器中,但是别人也可以通过截断服务器或抓到服务器里的包来看到内容,而token是直接把数据转变成一个令牌,把数据进行改变然后保存在客户端中。
token一般情况下会提供认证和授权,认证是针对用户,而授权是针对App的,并且token是唯一的。