函数的使用与封装及写法以及连续封装

遇到函数不执行 

调用函数才执行

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() #异常流









 

posted @ 2021-12-17 11:49  权释  阅读(174)  评论(0)    收藏  举报