内容包含:接口测试、Charles、Python基础入门

一、 接口测试

内容包含:

  1. 接口的概念
  2. Json
  3. Cookie 和 Session 的区别
  4. 不同请求类型如何测试(get 和其他)
  5. Charles 的使用
  1. 接口:是指对协定进行定义的引用类型(来自百度)。通俗的讲,就是用来从数据库获取数据的。
  2. Json:所有语言都可以解析的数据类型。
  3. Cookie 和 Session:Session 是存在服务器的键值对,相当于通往服务器的通行证;Cookie 是存在本地的键值对。
  4. 如何进行接口测试
  • 对于 get 请求,不需要借助工具,可以直接在浏览器访问,格式为:www.***.com?k1=value1&k2=value2
  • 其他请求使用工具,以 postman 为例
  • 直接传参的方式是,在 body 的 form-data 填写相应的 key 和 value
  • 入参方式为 json 类型时,在 body 的 raw 填写内容
  • 因为记忆力太差去百度眼力又太差,结果困扰我许久的带 cookie 类型的请求,内容需填写在 headers,key 为 cookie,value 为 ‘某value=cookie’,如下图

二、 Charles的使用

主要内容:

  1. 安装证书可抓取 https 请求
  2. 模拟弱网,proxy-throttling setting
  3. 打断点,BreakPoints,为避免超时也可以使用本地文件,tools-Map Local

工作中用的比较多,还算熟悉,暂时不总结了

三、 Python 第一课

知识点总结:

  1. 变量定义(字符串加引号,数值直接赋值)
  2. input 使用(接收到的类型为 string)
  3. 条件判断(if…else…)
  4. 循环(for 循环和 while 循环)
  5. 字符串格式化
  6. 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]