内容包含:接口测试、Charles、Python基础入门
一、 接口测试
内容包含:
- 接口的概念
- Json
- Cookie 和 Session 的区别
- 不同请求类型如何测试(get 和其他)
- Charles 的使用
- 接口:是指对协定进行定义的引用类型(来自百度)。通俗的讲,就是用来从数据库获取数据的。
- Json:所有语言都可以解析的数据类型。
- Cookie 和 Session:Session 是存在服务器的键值对,相当于通往服务器的通行证;Cookie 是存在本地的键值对。
- 如何进行接口测试
- 对于 get 请求,不需要借助工具,可以直接在浏览器访问,格式为:www.***.com?k1=value1&k2=value2
- 其他请求使用工具,以 postman 为例
- 直接传参的方式是,在 body 的 form-data 填写相应的 key 和 value
- 入参方式为 json 类型时,在 body 的 raw 填写内容
- 因为记忆力太差去百度眼力又太差,结果困扰我许久的带 cookie 类型的请求,内容需填写在 headers,key 为 cookie,value 为 ‘某value=cookie’,如下图
二、 Charles的使用
主要内容:
- 安装证书可抓取 https 请求
- 模拟弱网,proxy-throttling setting
- 打断点,BreakPoints,为避免超时也可以使用本地文件,tools-Map Local
工作中用的比较多,还算熟悉,暂时不总结了
三、 Python 第一课
知识点总结:
- 变量定义(字符串加引号,数值直接赋值)
- input 使用(接收到的类型为 string)
- 条件判断(if…else…)
- 循环(for 循环和 while 循环)
- 字符串格式化
- list(数组的增删改查和几个常用方法)
前三点比较简单,基本是概念性的东西,就不再多说,主要想记录下循环和数组的使用
4.循环
其实循环也算熟悉了,while 在使用时需要有计数器,需要避免死循环的情况,而 for 循环不需要单独定义计数器。
示例 while 循环:
count = 0
while count < 5:
循环体
count += 1
for 循环:
for i in range(3):
循环体
**重点1: **只要在循环中遇到 break,循环立马结束;遇到 continue,结束本次循环,实际在用的时候,有些情况比如 continue 之后没有要执行的内容,此时写不写 continue 都一样。
**重点2: **两种循环都可以加上 else,用于正常循环结束后执行。(只要不是 break 结束的,都要执行 else 部分)。
应用:一个简单的猜数游戏
import random
num = random.randint(1,100) #生成一个1-100的随机数
count = 0
while count < 7:
guess = input('请输入一个数字:')
guess = int(guess)
count += 1
if guess == num:
print('猜对了!')
elif guess < num:
print('猜小了')
else:
print('猜大了')
else:
print('错误次数过多!')
5. 字符串格式化
一句话解释这是干嘛的呢,就是输出某个参数时,先用 %s (或者d、f) 占位,再给这个变量传值
应用:
import datetime
today = datetime.datetime.today()
username = input('Please input your name:')
welcome = '欢迎 %s 登录,今天的日期是 %s'%(username,today)
print(welcome)
我在这犯过的错是,在给变量传值前的%加了‘,’,写成
welcome = '欢迎 %s 登录,今天的日期是 %s',%(username,today) #这是一个错误示范
另外,字符串也支持简单粗暴的拼接(+的方式),但只能是字符串格式的相接
再次,%f(%.2f 表示保留两位小数),%d(传的类型是整数),%s(通用类型)
6. list(列表、数组)
- 定义方式:
a=['a','b','c'] #元素的类型不限制
- 增:
a.append('abc') #这种方式增加的元素在列表的最后
a.insert(0,'abc') #在指定位置添加元素
- 删:
a.remove('abc') #删除指定内容,内容不在列表中时会报错
a.pop(2) #删除指定下标的元素,删除时下标找不到会报错,为空时删除最后一个元素
del a[0] #删除指定下标的元素,找不到会报错
说一下 pop() 和 del 的区别,del 就直接删除,而 pop() 方法使用后是将删除的内容返回到原来的 list,这一点与 string 不同(因为 string 不可更改),所以,a.pop(2) 在执行后,a 直接就变成删除下标为 2 的元素后的 list。若想获得这个删除的值,可以记录下来:popped = a.pop(2)。
- 改:直接通过下标的方式更改特定位置的元素
- 查:通过下标,a[0] 表示第一个元素,a[-1] 表示最后一个
list 的其他方法
• a.count('a') #count() 用来计算列表中某元素的个数,不存在时 = 0
• a.index('b') #index() 用来查某元素的下标,不存在时报错
• a.clear() #清空列表
• a.sort() #用来排序,数字从小到大,字母从a到z,且注意:该方法无返回值,直接将原有数组排序
• a.sort(reverse=True) #降序排序
• a.reverse() #元素位置反转
• a = [1,2,[3,4,[5,6]]] #多维数组就是数组的嵌套
- list 的拼接:
n1=[1,2,3]
n2=[4,5,6]
n1.extend(n2) #意思为将2拼在1后面,同排序的方法一样,直接改变原有的 list
print(n1,n2) #此时 n1=[1,2,3,4,5,6], n2=[4,5,6]