Python接口自动化(七) 参数化关联接口

  我们用自动化新建项目之后,要想接着对这个新建项目操作,那就需要用参数关联了,新建项目之后会有一个项目的id,获得到这个id,就可以通过这个项目id继续操作这个新建项目。

大致流程步骤:登录——>新建项目——>web界面操作项目进度——>fiddler抓取操作请求——>提取参数——>传参——>代码实现。

一、操作新项目

 1.我们前面讲过新建项目后,那可以继续接着操作,操作项目状态;

 

 2.用fiddler抓包,抓到操作的请求,从抓包结果可以看出,传的data参数是status,id;

查看数据库,status=3,表示进行中;

 

 3.那id哪里来的呢?可以看到新增项目请求的响应结果有id;

4.也就是说在新建项目的时候,系统随机生成一个id,那接下来我们提取出来就可以了。

#coding:utf-8
import requests
import re
url="http://47.98.106.11:8088/login"
data={"username":"libai","password":"123456"}
headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"}
s=requests.Session()
rs=s.post(url,data=data,headers=headers)
print(rs.text)
#新增项目
d={"name":"奶茶",
    "aliasname":"cake",
    "started":"2020-07-26",
    "ended":"2020-07-27",
    "desc":"good",
    "id":"0"}
rs2=s.post("http://47.98.106.11:8088/project/add",data=d,headers=headers)
print(rs2.text)
id=re.findall(r"id\":\"(.+?)\"",rs2.text)#提取id
print(id[0])
datas={"status":"3","id":id[0]}
rs3=s.post("http://47.98.106.11:8088/project/ajax/status",data=datas,headers=headers)
print(rs3.text)

 如果想看清楚,可以在操作状态前打断点;

1)在提取完id的下一行,双击前边即可出现一个红色的大圆点;

 

 2)点击右上方的昆虫图标;进入debug模式,代码运行到断点处停止运行;

3)web页面,刷新项目,查看项目,有刚新增的项目;

4)点击右边的绿色图标一次性执行完后边的代码;

5)刷新web页面,看到刚新增的项目,状态已经变成进行状态。

 

 

posted on 2020-07-26 21:12  星空6  阅读(781)  评论(0编辑  收藏  举报

导航