【接口/性能】python02-实践
拿工作中体脂秤项目的两个个接口来实践。先明确下待测接口:用户测量资料查询接口
一、
首先得弄明白公司服务器架构,各服务器之间关系,项目中的业务流程和认证流程等,这样可分析测试这个接口的一些前提条件,比如是否需先向服务器授权,以及授权流程是怎样的等等。
这里有一篇很清晰的图解常见网站服务器架构的文章。https://www.zhihu.com/question/20657269
我们公司目前属于第4种,应用服务器根据不同的需求分开,应用服务器实现集群。
二、
然后再查看开发人员给出的接口文档。‘用户测量资料查询’指的查询用户测脂时所需用到的参数,包括身高、年龄等资料,这个操作需要使用用户名密码向服务器请求授权。这里需先弄明白‘CAS认证’原理。CAS服务器负责完成对用户的认证工作(即授权),会为用户签发两个重要票据:TGT和ST。
TGT是CAS为用户签发的登录票据,拥有了TGT,用户就可以证明自己在CAS成功登录过。ST是CAS为用户签发的访问某一服务票据。为了保证ST的安全性:ST 是基于随机生成的,且只能存活一定的时间。
http://blog.csdn.net/wang379275614/article/details/46337529
上面链接中有个很好的例子
三、
而待测接口,所需要做的动作,就如图片中高亮部分,分步如下:
1)用户名密码登录CAS服务器,拿到TGT
2)使用TGT,拿到ST
3)通过接口url+ST,向应用服务器请求数据
使用python实现如下:
因为用的是https,涉及到证书的问题。刚开始一直请求失败不知道是证书没添加成功,还是接口url或参数不对,所以先临时把证书验证给禁用掉了,所以上面post请求中有verify=False。迟点再尝试把证书弄好去~~~
中间有用postman尝试单个接口的返回情况怎么样。最后发现postman超强大哈哈哈,有collection可以用来建测试用例集实现自动化~~~然后测试群里刚刚分享过jmeter实现接口自动化=。= 继续学习~~~