学习记录001-接口/python基础
对接口的认识:
1 就是从数据库里面获取数据的存在
2 前端页面和数据库之间通过接口来交互,可从数据库获取数据
3 接口测试没有页面
前端和后端
前端-客户端client:能用浏览器打开的都是前端,有页面可查看
后端-server端
接口测试需要内容:
url 接口请求方式 请求参数 接口文档
接口的作用:
由于每个端开发的环境语言不一样,为了接口的交互,进行数据的传输,所以需要接口进行交互
关于接口的一些请求方式和测试步骤说明:
工具:postman
1 get请求
不需要借助工具,直接使用浏览器即可
浏览器输入方式:url+?+参数名称和对应内容(key=值的方式)
如果有多个参数需要搜索:参数之间使用&符号进行隔开,进行多个参数搜索
记住:参数不需要加引号
例子 http://api.gddsd.cn/api/user/stu_info?+参数:key1=value1&key2=value2
2 post请求
需要借助工具:此处是postman
工具使用:
001请求方式改为post请求方式
002输入对应的url地址
003选择body-----form-date-----输入对应参数名称和对应value(顺序无所谓)
003点击send
关于session:
存在服务端的键值对:一个key和一个value
场景:通过session来判断用户是否有登陆
关于cookie:
存在本地的键值对
如果把本地cookie进行删除,那么服务器端就会要求重新登录
3 请求方式为post,入参为json类型
什么是json?
所有语言都认识且都可以解析的一种通用数据类型,其特点:视觉较直观且可进行数据的交互;
在之前有一种所用的通用的解析语言为:xml,但是由于其显示不精简,有其他一些不必要的字符,导致传输速度慢以及其他一些弊端,所以被淘汰
需要借助工具:postman
工具使用:
001选择post请求类型
002输入url
003选择body---raw----Text下拉框选择JSON---进行json内容的输入
004进行json输入:
{
"key":"value",
"key":"value",
key":"value"
}
最后一个不要有逗号
005点击send
4 需要上传cookie:(可参阅倒数第二张的图片说明)
cookie地址:浏览器页面右键--检查--NetWork--XHR--Headers-Request-request Header,找cookie:xxxxx
当前检查页面左侧列表显示的是接口地址,需要获取哪个接口信息,直接进行选择即可
工具:postman
使用:
001类型选择 :POST
002进行url的输入
003进行:(两者都要输入)
--headers输入key对应为Cookie,对应的value为浏览器获取内容
--Body:form-date的内容输入(只要有参数,就相当于和Post请求的输入一致)
004点击send
5 接口上传文件
001选择接口类型
002上传url
003body-form date
004进行key的输入:名字为借口文档所写参数名称
005选择类型:file 随后进行文件的选择上传
006点击send
Postman使用设置
001 域名设置以便于域名更换时使用
场景:测试接口的时候,接口所属域名均是一个,后期如果测试的时候服务器域名地址变了,那么再次验证之前的测试就需要把每次的请求域名都做变更,所以可以进行定义一个变量,用来接收测试的域名/ip,遇到这样的情况,更换设置的变量值对应的value即可;设置方法如下:
postman-小齿轮设置-Manage Environments-Globals-定义实际使用的ip地址或者域名的变量名称和值,随后保存
场景:实际测试地址为:http://api.nnzhp.cn/api/user/stu_reg;其中的域名“api.nnzhp.cn”即可在此处定义为变量:ip,对应值即为:api.nnzhp.cn;随后在Postman请求页面地址进行填写即为:http://{{ip}}/api/user/stu_reg
注意的点:001变量对应的value是什么,那请求地址需要替换的就是哪些;002变量需以双层字典括号符进行使用
002 进行请求的保存
Postman接口保存建立集合:
Save-进行接口名称的输入:自定义-添加进/新建集合
在Collections(页面左侧)即可查看保存的接口集合名称和所属请求列表
备注:请求页面可进行请求的描述
抓包
工具:Charles
PC端抓包:
Mac设置:Proxy-macos proxy 为勾选状态才可以抓取到Mac电脑上的请求
overview:大致信息
contents:详细信息--可查看cookie以及信息描述
抓包工具的好处:可查看更多的接口请求信息
1 文件左下角显示“filter”进行抓到的接口过滤查看
2 如果用Charles进行https的抓取,需要安装证书
手机端抓包:
(要求:电脑和手机在同一个局域网络里面)
设置:Mac:help-Local IP address--查看ip一般只查看第一个即可
iPhone:网络进行连接无线网的设置:配置代理:手动--服务器:与查看的mac端ip一致--端口号:8888(因为Charles的默认端口号为8888)
python:
python的更多使用的场景:数据分析/人工智能/web开发/自动化运维/自动化测试
python和pycharm的关系:
Python是一种语言,有一个环境;而pycharm是一个工具
一 在终端输入python可进入python的交互式命令行环境
二 关于python:
关于python工具:pycharm的一些常规配置在最后一张图片
1 定义变量
如果是数值不需要添加引号;而如果是汉字则需要添加引号,关于引号,需要注意双引号和单引号的使用环境
如果输出里面有单引号,那么就使用双引号,那如果输出里面有双引号,那么外面就要用单引号,那如果输出既有单引号也有双引号,那就使用三引号
中文也可以进行定义变量,但是尽量不要使用
2 关于注释
单行注释:使用#号
多行注释:在字段的开始和结束使用三引号进行多行注释
(单行and多行)注释/解注释快捷键:command+?
3 字符串:带双引号
数值:不带双引号,数字类
4 input:接收输入
在python2里面,要用“raw input”代替input
5 条件判断
1 if else--适用于两个条件
001 if后面要有冒号
002 if 和 else的下一句会有缩进
003 不等于的符号:!=
004 判断两个值是否相等: ==
2 if elif else--判断多个条件适用,但是一次只能走一条路,如果一条通了,下面的代码不执行
001 条件判定为多个的时候,使用“and”进行连接
6 学会尝试分析报错信息提示
记住:input接收到的全都是字符串类型
Str - 字符串
Int - 123等整数类型
7 查看变量的类型
print(type(变量名))
8 类型转换
变量名A = int(变量名字A)
9 循环,遍历,迭代--重复的做一件事情
001 for循环:不需要定义计数器
For i in range(循环次数)
002 while循环
002-1 定义计数器:
count = 0
while count <10:
002-2 while循环对应的else,是while正常循环结束之后执行的
10 break和continue
break:如果在循环里面遇见break,循环结束
continue:在循环里面遇见continu,结束本次循环,进入下次循环
11 循环就是重复的执行循环体里面的代码
12 字符串格式化:
占位符:%s 适用于任何格式,字符串里面写有几个%s,那面后面就要有几个对应的变量,多个变量名称用逗号间隔,且变量在括号里面;使用该占位符的优势在于:不用转换字符串类型,比较方便
比如:welcome = "欢迎 %s 登陆,今天的日期是:%s" % (第一个变量,第二个变量)
13 str 字符串类型;int 整数类型;float 小数类型;
14 列表/list/数组:
14-001定义列表:列表名称 = 【“第一个元素”,“第二个元素”,”第三个元素“....】
14-002取列表里面的值:采用元素所在的 下标/索引/角标
14-003给列表增加元素:列表名称.append(“元素名称”);该方法是在列表的末尾增加元素
14-004在列表指定位置增加元素:列表名称.insert(欲增加元素的指定位置下角标,“元素名称”)
14-005修改元素指定位置的元素:列表名称[欲修改元素的位置]=“新的元素名称”
14-006删除列表元素:列表名称.pop(欲删除元素下标) 根据角标进行删除
列表名称.remove(“元素名称”) 根据元素进行删除,删除的元素不存在的时候会报错
14-007统计一个元素在列表里面出现的次数:列表名称.count(“元素名称”)
14-008找列表里面元素的下标:列表名称.index(“元素名称”)
14-009列表清空:列表名称.clear()
14-010列表进行元素升序排序:列表名称.sort()
14-011列表进行元素降序排序:列表名称.sort(reverse=True)
14-012列表元素排序进行反转:列表名称.reverse()
14-013进行列表元素的汇总:第一个列表名称.extend(第二个列表名称) print第一个列表名称会显示第二个的元素在第一个列表元素的后面进行显示
14-014循环列表,输出的结果是列表里面的元素
14-015多维数组 二维数组:变量 = [1,2,3,["a","b","c"]]
三维数组:变量 = [1,2,3,["a","b","c",["~","#"]]]
多维数组取值:例如取二维数组的“a”元素 print(变量[3][0])
pycharm的一些常规配置: