--- 恢复内容开始 ---
一, 接口
1. 什么是接口:
简单的说, 接口就是从数据库获取数据.
2. 前端和后端:
2.1 前端 client:
对于 web 来说, 打开的网页, 我们所看到的就是前端, 前端语言包括 html,JS,CSS; 对于手机客户端来说, iOS 和安卓上的 App 的页面, 都是前 端. iOS 的开发语言 object-c,Android 开发语言 Android.
2.2 后端 server:
项目的业务逻辑一般是由后端, 非页面的校验, 一般也由后端实现. 后端开发语言: python,Java,PHP,go,Ruby 等
通俗的讲, 前端是个包装, 包装内的功能是由后端实现.
3. 接口测试:
GET 请求: 直接使用浏览器请求. 请求格式为: url? 参数 = xxx. 如: http://api.nnzhp.cn/api/user/stu_info/?stu_name = 矿泉水 & age=18&addr = 北京
POST 请求: 测试 post 请求需要借助工具 postman.
session: 存在服务器端的键值对: key:value
cookie: 从在本地的键值对: key:value
登录后再本地和服务器生成一个新的键值对, 两个键值对对应, 用户才能登录成功. 当把本地的 cookie 清楚后, 服务器的 session 没有对应的 cookie, 用户就会退登
xml: 以前使用的数据类型, 由于书写复杂, 后来统一使用 JSON
xml 的书写格式:<name>hanmin<hanmin>
<id>0000001<id>
JSON: 一种所有语言都能解析的数据类型
4.Postman: 接口测试工具
使用方法:
全局变量可在 environment 中设置, 设置后调用该参数的地方可用 {{参数名}} 代替:
在调用时, 只需要输入 {{fp}} 即可, 如:
二, 抓包工具: charlers
设置代理, 下载证书, 抓包, 打断点拦截请求, 修改请求 url / 参数 / 返回值
三, python 基础:
1. 打印: print().e.g:print("hello,world")
字符串的引用可以用''," ",''' ''', 当字符串本身包含引号字符, 则使用不同的引号区分, 例如:
- words='let\'t,go' #\ 转义字符
- words1="let's,go" #字符串中有单引号, 就用双引号
- print(words)
- words3='''let's go!''' #用单, 双, 三引号与字符串的引号区分开
- print(words3)
2. 注释:#,''''''
2.1 按 ctrl+? 可注释 / 解注释
3.type(): 查看变量类型:
- score=89.3
- addr='beijing'
- print(type(score)) #type()查看类型
4. input(): 输入
input(): 输入 python2 中是 raw_input()
- name=input("请输入你的名字") #输入名字, 然后赋给 name
- print("你输入的名字是",name)
- #input()接收到的都是字符串类型, 不能直接与 int/score 类型的变量做计算, 如需计算, 需要强制类型转换
5. 强制类型转换:
- score=input("请输入你的成绩")
- score=float(score) #将输入的成绩强制转换为 float
- score=int(score) #将输入的成绩强制转换为 int 型
- #str(X) 转换为字符串类型
6. 报错: 运行报错时, 看最后一行报错信息, 分析错误.
7. 条件判断: 两种情况, 使用 if......else..., 多种情况使用 if...elif...else
- score=input("请输入你的成绩")
- score=float(score)
- if score>= 90:
- print("优秀")
- elif score>=80 and score<90: #and 不可以用 & 字符代替
- print("良好")
- elif score<80 and score>=60:
- print("及格")
- else:
- print("不及格")
8. 循环: for,while
- 8.1while:
- count=0 #使用 while 前要先定义计数器
- while count<10:
- print('test')
- count=count+1
- break
- #break: 在循环中遇到 break, 循环立即结束
- #continue: 跳过此次循环, 进行下一次循环
- 8.2 for:
- for i in range(10): #for 循环会自动计数, 自动加 1.range(): 数字序列
- print("hhh")
- num=random.randint(1,100) #random.randint(), 随机生成一个整数, 在使用 random 函数前, 需要进入 random 包
9.import 引入一个包
10. 字符串格式化:
- welcome='欢迎 %s'%name
- welcome2='欢迎[%s] 登录, 今天是 %s' % (name,today) #%s 占位
- welcome3="欢迎"+name+"登录" #使用 + 连接,+ 必须是同类型
- nianling='你的年龄是 %d' %age #%d, 必须是整型
- score='你的成绩是 %.2f'%score #%f, 必须是小数类型,%.2f, 保留两位小数,%.3f 保留 3 位小数
- print("欢迎",name,'今天是',today)
11. 列表
列表中不限制类型, 不限制长度
stu=['Amy','linda','nana','meili',1,90]
12. 列表的增删改查
12.1 查
- print(stu[0]) #列表的索引从 0 开始
- print(stu[3])
- print(stu[-1]) #-1 代表最后一个元素, 负数代表从末尾数
- print(stu[-2])
12.2. 增加元素:
append(), 在列表的末尾增加一个元素
stu.append('hanmin')
指定位置添加元素: insert()
stu.insert(1,"momo") #在索引 1 处增加 momo
12.3 修改元素:
stu[1]="dayu" #将索引 1 处的元素搜改为 dayu
12.4 删除元素: pop(),remove()
remove()传的是元素, pop()传的是下标. 删除不存在的元素会报错. 相同的元素, 不会都删掉, 只会删除一
如: stu.pop(-1) #删除列表末尾的元素
- stu.remove("momo") #删除 momo 这个元素
12.5 统计: count(), 统计一个元素在列表中出现的次数
count=stu.count("momo")
12.6index()查找元素下标
index=stu.index("nana")
12.7 清空列表: clear()
stu.clear()
12.8 排序: sort(): 字符串按字母排序, 数字按升序排序
- stu.sort()
- nums.sort(reverse=True) #反向排序
12.8 反转: reverse()
stu.reverse() #将 stu 列表倒序, reverse 只负责排序
12.9extend(), 连接两个列表
stu.extend(nums) #链接 nums 到 stu
12.10 二维数组, 三维数组
- list1=[1,2,3,4,5,[4,5,6,7]] #二维数组
- list2=[1,2,3,4,[5,['a','b'],6,7]] #三维数组
- print(list2[4][1]) #通过角标获取元素
13. 判断两个值相等: 用 ==
if guess == num: #判断两个值相等 用 ==
14. 在循环中, 如果后边没有代码, 不写 continue 循环也会继续执行
15.while/for,else:while/for 对应的 else, 是在循环正常结束执行的
[2019.5.19] 接口测试及 python 基础(一)
来源: http://www.bubuko.com/infodetail-3067332.html