接口测试

前端框架: VUE, node.js, React

==> 主要负责页面的展示

后端: 主要负责 业务,逻辑处理

接口:前端和后端的交互

有些,前端做了限制,但是后端并没有,漏洞就是可以绕过前端做一些请求。

 

常用接口方式

webservice:走soap协议,通过http传输,请求报文和响应报文都是xml格式的。

http: 

https:

 

接口自动化:

项目业务        接口文档        接口用例

自动化脚本    pytest框架      调试&执行

allure报告      结果分析          持续集成

 

http协议概述:

请求报文: 

请求行:     请求方法+url 协议/版本

请求头        由键值对组成,包含 user-agent, content-type, cookie等

空行

请求正文: 请求参数

 

状态码:

200: 请求通了, 但其实不一定成功

30x:请求重定向

40x:连接/路径/资源不存在, url有问题 => 查URL

50x:服务器有问题

 

Cookie&SessionID&Token

token机制是避免频繁访问数据库, 有时效性。

cookie和token是不同的机制。

cookie有时同时存放的有sessionid 和 token。

 

数据格式:

表单格式: 键值对的形式,用&连接多个键值对

JSON格式:键值对形式的字符串;键必须用双引号

 

data: 请求体参数,默认是表单类型

==》 如果是data的话,header可以不用传

json:请求体参数,默认是JSON类型

**kwargs: 格式:变量=值。  一般传 headers, cookies, proxy, ssl检验

token, cookie 一般封装在header

 

# 打印请求头
# 可以查看到user-agent直接发送的话python。。。: ‘User-Agent‘: ‘python-requests/2.25.1‘
print(reps.request.headers)
# 打印请求体
print(reps.request.body)
# 查看响应头, 可以查看到响应体的格式
print(reps.headers)
# 查看响应体, text文本形式
print(reps.text,type(reps.text))
# 查看响应体, 字典格式。前提,响应体必须是json格式才能用此方法
print(reps.json(),type(reps.json()))
# 取响应中的某个信息,比如 retcode
print(json.loads(reps.text)["retcode"])
print(reps.json()["retcode"])

 

unicode转中文:

\u7528\u6237\u6216\u8005\u5bc6\u7801\u9519\u8bef  ==》这种是Unicode码, 可以用工具转为中文。

在代码中,也可以通过指定编码的方式,转为中文==》 reps.encoding="unicode_escape"

 

代码中怎么表示是json格式: 

接口测试

 

# 请求体;根据要求 请求体是JSON格式,但是代码中具体怎么表示为JSON呢,加引号
payload = {
"action": "add_course",
"data":‘‘‘{
"name":"初中语文",
"desc":"初中语文课程",
"display_idx":"1"
}‘‘‘
}

 

接口测试

上一篇:matlab数模准备


下一篇:LVS+Keepalived群集