python接口测试
1. 推荐requests 库
2. 接口测试前提
- API接口文档
- 接口测试用例
3. 请求包含哪些不发
- 方法 :get,post
- URL
- 请求参数
- 请求头
-
-
表单格式的body体如下:
4. 代码示例1
#--coding:utf8-- import requests res =requests.get('https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=1&rsv_pq=bdd6ea2900036359&rsv_t=7454dP%2FTFQtV38i9mcMzQZ18jIoqH1ZZj6TRDIK1jvjz%2B5Hcx1UmV5gYbt0&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_sug3=1&rsv_sug1=1&rsv_sug7=100&prefixsug=1&rsp=3&inputT=1258&rsv_sug4=1258') print(res.content) #" content 能够正确返回中文,而text会把中文展示成乱码" --加上#--coding:utf8-- 这句话中文注释就不会报错了 print(res.headers)
print(res.json().['id'])
print(res.url) print(dir(res))
5. 代码示例2
注意三引号的使用 :当字符串要换行时,用三引号即可
6. python中assert的用法
- 英 /əˈsɜːt/
- 断言格式: assert +空格+判断语句+双引号"报错信息"
- 例: assert courser['name']=='语文' , "name的值不正确"
- assert和if的区别:
- if是实的,真正的增加代码量,降低执行效率;而断言是虚的,在Debug的时候可以帮助调试,在Release的时候并不存在。
- 首先要分清 流程控制和测试目的的区别
- assert在调试期间用来检查我的猜测或者决不允许出现的情况有没有发生吧,一旦发生就表明我的程序很可能有BUG,而if就是我理所应当处理的各种情况,且这些情况如果发生并不代表程序发生BUG。所以,它们两不能乱用。
7. pprint的使用:
from pprint import pprint --内置库
from pprint import pprint
data = [(1,{'a':'A','b':'B','c':'C','d':'D'}), (2,{'e':'E','f':'F','g':'G','h':'H', 'i':'I','j':'J','k':'K','l':'L' }), ]
print 'PRINT:'
print data
print
print 'PPRINT:'
pprint(data)
输出结果:
1 PRINT: 2 [(1, {'a': 'A', 'c': 'C', 'b': 'B', 'd': 'D'}), (2, {'e': 'E', 'g': 'G', 'f': 'F', 'i': 'I', 'h': 'H', 'k': 'K', 'j': 'J', 'l': 'L'})] 3 PPRINT: 4 [(1, {'a': 'A', 'b': 'B', 'c': 'C', 'd': 'D'}), 5 (2, 6 {'e': 'E', 7 'f': 'F', 8 'g': 'G', 9 'h': 'H', 10 'i': 'I', 11 'j': 'J', 12 'k': 'K', 13 'l': 'L'})]