面向对象及类用法

# -*- coding:utf-8 -*-
红色都是固定语法
class Somebook(): #class固定语法somebook变量名称可更改,接():
def __init__(self, name, author,page,money):
self.name = name #左边的name只是变量名称可以改的,右边的必须跟上面括号里的值一样,如下都是。
self.author = author
self.page = page
self.money = money
# print("初始化")

def book(self):
print("新买了一本书,书名叫{},作者是{},页数共有{}页,一共花了我{}元。".format(self.name, self.author,self.page,self.money))


# 实例化
test = Somebook("斗破苍穹", "天蚕豆豆","100","180")
test.book()
#结果:
新买了一本书,书名叫斗破苍穹,作者是天蚕豆豆,页数共有100页,一共花了我180元。Process finished with exit code 0
--------------------------------------------------------------------------------
# -*- coding:utf-8 -*-
import re
hots = "http://192.168.241.129:8081"

class SchoolManage():
def __init__(self,s):
self.session = s
#登录合并新建以及禁用
def recruit_students(self,hots, account,pwd):
url = hots+"/recruit.students/login/in"
par = {"account":account,
"pwd":pwd
}
r = self.session.get(url=url,params=par)
return r


#新建
def school_add(self,hots,schoolName,Type,canRecruit,remark):
url = hots+"/recruit.students/school/manage/addSchoolInfo"
boby_d = {"schoolName":schoolName,
"listSchoolType[0].id":Type,
"canRecruit":canRecruit,
"remark":remark,}
r = self.session.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(self,hots, id, sid):
url = hots+"/recruit.students/school/manage/enableOrDisableSchool"
boby = [{"id":id,"disable":0,"schoolId":sid}]
r = self.session.post(url=url,json=boby)
return r


if __name__ == '__main__':
import requests, random
s = requests.session()
hots = "http://192.168.241.129:8081"
name = random.randint(100, 1000000)
user = "admin"
pwd = "660B8D2D5359FF6F94F8D3345698F88C"
text = SchoolManage(s)
#登录
print("----登录-----")
login = text.recruit_students(hots,user, pwd)
# print(login.text)

# 新建学校
print("-----新建学校-----")
r = text.school_add(hots,name, 4, 1, name)
print(r)
# 获取学校 id
id = r[1][0]
# 获取学校 sid
sid = r[2][0]
print(id)
print(sid)

# 禁用学校
print("----禁用学校----")
r = text.merge_s(hots,id, sid)
print(r.text)
接上行用例:
# -*- coding:utf-8 -*-
from interface.Value_encapsulation import SchoolManage
import requests, random

class TestSchoolManage():
def __init__(self):
self.s = requests.session()
self.hots = "http://192.168.241.129:8081"
self.sch = SchoolManage(self.s) # 实例化
self.sch.recruit_students(self.hots,"admin", "660B8D2D5359FF6F94F8D3345698F88C") # 登录

def test_add_success(self):
name = random.randint(10000, 100000)
r = self.sch.school_add(self.hots,name, 2, 1, 1)
print(r[0].text)

def test_add_name_null(self):
name = random.randint(10000, 100000)
r = self.sch.school_add(self.hots, None, 2, 1, 1)
print(r[0].text)

def test_add_type_null(self):
name = random.randint(10000, 100000)
r = self.sch.school_add(self.hots, name, None, 1, 1)
print(r[0].text)

if __name__ == '__main__':
t = TestSchoolManage()
t.test_add_success()
t.test_add_name_null()
t.test_add_type_null()
 


posted @ 2021-12-22 10:29  权释  阅读(38)  评论(0)    收藏  举报