函数的使用与封装及写法以及连续封装
遇到函数不执行
调用函数才执行
get请求:params post请求 : data json请求:json (这里是抓包抓出来的数据进行调整)




def apiPhone(city, key):
url = 'http://apis.juhe.cn/simpleWeather/query'
par = {
"city": city,
"key": key
}
r = requests.get(url=url, params=par)
return r #返回值,遇到函数不执行,调用才执行。
# 正常流
r = apiPhone("深圳", "99485d9e2ebabfd0fc86eeb88f0dab41")
print(r.text)
# 异常流 key错误
r = apiPhone("深圳", "199485d9e2ebabfd0fc86eeb88f0dab41")
print(r.text)
----------------------------------------------------------------------------------------------------
封装举例(使用封装流先走一遍能否跑动在进行封装,带#号是先跑一遍,成功再进行封装。)
import requests #(这一步永远都是先行的,导入requests模块)
s = requests.session()
#登录
# url_login = "http://192.168.241.129:8081/recruit.students/login/in"
# boby_login = {"account":"admin",
# "pwd":"660B8D2D5359FF6F94F8D3345698F88C"}
# r = requests.get(url=url_login,params=boby_login)
# print(r.text)
def recruit_students(account,pwd):
url = "http://192.168.241.129:8081/recruit.students/login/in"
par = {"account":account,
"pwd":pwd,}
r = requests.get(url=url,params=par)
return r
if __name__ == '__main__':
r = recruit_students("admin", "660B8D2D5359FF6F94F8D3345698F88C")
print(r.text)
写用例表示接上行代码:
from interface.recruit_students import recruit_students
def test_zhaosheng_success(): #正常流
r = recruit_students("admin","660B8D2D5359FF6F94F8D3345698F88C")
print(r.text)
def test_zhaosheng_name_error():
r = recruit_students("admin111", "660B8D2D5359FF6F94F8D3345698F88C")
print(r.text)
#
def test_zhaosheng_key_error():
r = recruit_students("admin", "1660B8D2D5359FF6F94F8D3345698F88C")
print(r.text)
#
if __name__ == '__main__':
test_zhaosheng_success() #succes表示成功的意思,error表示失败。这里运用if __name__ == '__main__':(表示代码从这里开始执行,输入main回车键)
# test_zhaosheng_key_error()
# test_zhaosheng_name_error()
三、连续封装举例
利用连续保持登录状态连接,s = requests.session(),也就是s.
import requests
import re 利用正则提取法必用
import random
import json
s = requests.session()
#登录合并新建以及禁用
def recruit_students(s, account,pwd):
url = "http://192.168.241.129:8081/recruit.students/login/in"
par = {"account":account,
"pwd":pwd}
r = s.get(url=url,params=par)
return r
#新建
def school_add(s, schoolName,Type,canRecruit,remark):
url = "http://192.168.241.129:8081/recruit.students/school/manage/addSchoolInfo"
boby_d = {"schoolName":schoolName,
"listSchoolType[0].id":Type,
"canRecruit":canRecruit,
"remark":remark,}
r = s.post(url=url,data=boby_d)
id = re.findall("登录帐号为(.*?),密码为123456", r.text)
sid = re.findall('"data":{"id":(.*?),"schoolName"', r.text)
return r,id,sid
#禁用
def merge_s(s, id, sid):
url = "http://192.168.241.129:8081/recruit.students/school/manage/enableOrDisableSchool"
boby = [{"id":id,"disable":0,"schoolId":sid}]
r = s.post(url=url,json=boby)
return r
if __name__ == '__main__':
s = requests.session()
name = random.randint(100, 1000000)
# 登录
print("----登录-----")
recruit_students(s, "admin", "660B8D2D5359FF6F94F8D3345698F88C")
# 新建学校
print("-----新建学校-----")
r = school_add(s, name, 4, 1, name)
print(r)
# 获取学校 id
id = r[1][0]
# 获取学校 sid
sid = r[2][0]
print(id)
print(sid)
# 禁用学校
print("----禁用学校----")
jin = merge_s(s, id, sid)
print(jin.text)
---------------------------------------
用例层举例(接上)
import requests
import random
from interface.merge_s import recruit_students, school_add,merge_s
s = requests.session()
recruit_students(s, "admin", "660B8D2D5359FF6F94F8D3345698F88C")
def school_add_success():
name = random.randint(100, 1000000)
r = school_add(s, name, 4, 1, name)
print(r)
id = r[1][0]
sid = r[2][0]
print(id)
print(sid)
jin = merge_s(s, id, sid)
print(jin.text)
def school_add_function_error():
name = qrandom.randint(100, 1000000)
r = school_add(s, name, 4, 1, name)
print(r)
id = r[1][0]
sid = r[2][0]
print(id)
print(sid)
jin = merge_s(s, id, sid)
print(jin.text)
if __name__ == '__main__':
school_add_success() #正常流
# school_add_function_error() #异常流


浙公网安备 33010602011771号