python接口自动化测试二十:函数写接口测试

摘要:
Utf-8importRequestsimportReforms4importBeautifulSoup#s=请求。session()#全局sdefget_token:from_encoding='utf-8')tokenCode={}try:
python接口自动化测试二十:函数写接口测试
 
# coding:utf-8
import requests
import re
from bs4 import BeautifulSoup

# s = requests.session() # 全局的s

def get_token(s):
'''
fuction: 获取token
args: s 参数 -》s = requests.session()
:return anti_token ->{'X-Anit-Forge-Token': 'xx', 'X-Anit-Forge-Code': '38515842'}
'''
# 局部的s没定义,从外部传入s
url = 'https://passport.lagou.com/login/login.html'
h1 = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"
}
r1 = s.get(url, headers=h1, verify=False)
# print(r1.text)

soup = BeautifulSoup(r1.content, "html.parser", from_encoding='utf-8')
tokenCode = {}
try:
t = soup.find_all('script')[1].get_text()
print(t)
tokenCode['X_Anti_Forge_Token'] = re.findall(r"Token = '(.+?)'", t)[0]
tokenCode['X_Anti_Forge_Code'] = re.findall(r"Code = '(.+?)'", t)[0]
return tokenCode
except:
print("获取token和code失败")
tokenCode['X_Anti_Forge_Token'] = ""
tokenCode['X_Anti_Forge_Code'] = ""
return tokenCode


def login_lgw(s, anti_token, user, psw):

url2 = 'https://passport.lagou.com/login/login.json'
h2 = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
"X-Anit-Forge-Token": anti_token['X_Anti_Forge_Token'] ,
"X-Anit-Forge-Code": anti_token['X_Anti_Forge_Code'],
"Referer": "https://passport.lagou.com/login/login.html"
}
body ={
"isValidate": "true",
"username": user,
"password": psw,
"request_form_verifyCode": "",
"submit": ""
}
print(s.headers) # s的头部

# 更新s的头部
s.headers.update(h2)
print(s.headers)
r2 = s.post(url2, data=body, verify=False)
print(r2.text)
return r2.json()

if __name__ == "__main__":
# 自测的内容
s = requests.session()
token = get_token(s)
print(token)
user = "1232"
psw = "322222"
login_lgw(s, token, user, psw)


python接口自动化测试二十:函数写接口测试第1张

python接口自动化测试二十:函数写接口测试第2张

免责声明:文章转载自《python接口自动化测试二十:函数写接口测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇三维地图的加载以及基本功能的开发git用法小结(1)--建立远程仓库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux常见故障处理

目录 一. 文件和目录类 1.1 File exist 文件已经存在 1.2 No such file or directory 没有这个文件或目录(这个东西不存在) 1.3 command not found 命令找不到(没有这个命令) 1.4 invalid option 无效的参数(不可用的参数) 1.5 overwrite 覆盖 1.6 r...

My97日历控件常用功能记录

My97相信大家都不陌生,应该是我所见过的最强大的一个日历控件了,最近的项目中也比较多地用到了此控件,而且项目中经常会有不同时间范围的需求,在此列出一些比较常用的日期范围格式的设置,尽管在My97的官方文档中有很详细的介绍,正是因为很详细所以查找起来不是很方便。 1 可以选择任何日期 <input id="txtDate" class="Wdate"...

获取,标签里面属性的值的方法

获取,标签里面属性的值的方法,(下面是获取a标签里面属性source-data-lazy-img的值 ) soup2 = BeautifulSoup(span.encode('utf-8'), 'html.parser')for img2 in soup2.find_all('img',{"source-data-lazy-img":True}):  pr...

我要自学网视频免登陆观看破解技巧

不知道写出来之后会不会被封掉!!!   我要自学网上的视频目前我只知道三种,1. 不登陆就可以看的 2.登陆后可以看 3.登陆后花钱可以看的,本文针对第二种 视频提供了一种可以免登陆看视频的方法。(貌似没啥luan用。。。) 第一步:   在浏览器中打开两个网页,一个是第一种视频网页,记为A网页,另一个是第二种视频网页,记为B网页,然后查看B 网页源代码(...

在windows 7使用BCDEdit.exe修改启动菜单项

  最近重装了系统,电脑型号:Thinkpad R400 2784A74。原本想换个windows Server 2003的,可是没有与之对应的驱动程序,于是又换成windows 7 ultimate,考虑到之前使用的XP系统可能还会用到,于是想到做个双系统。   安装windows7的步骤简单说下:使用虚拟光驱+光盘镜像进行安装,过程是漫长的。此处略去1...

Vue2.0进阶组件 短信倒计时组件

原本我想隔个几天再发文章,刚好今天项目上线,环境有问题,导致只有干等,刚好要为公司打造一套属于公司自己的一系列功能组件,这个使命就交给我了,大家也一直叫我来点干货,说实话我只是一个湿货,肚子里干一点就给你们出点货,那从今天开始不看岛国片系列教程视频,不但自撸,还教你撸............你懂的!!最强vue组件 写之前我只想说如果看到错别字,就别给我点...