1、使用場景:
有注冊介面,想創造多條測驗資料,不想手工插入,需要自動化實作
2、注冊介面
引數:
手機號 mobile_phone
密碼 pwd
用戶型別 type
用戶名 reg_name
格式:application/json
方法:post
3、代碼結構

4、代碼
思路:先生成11位手機號,再生成用戶名 (字母拼接+手機號后四位),密碼統一設定為12345678,用戶型別統一設定為1 ,最后請求注冊介面,(“http介面請求代碼”和“資料庫連接代碼”本文章未提供)
createUser部分代碼
def create_user(password=12345678, type=1):
"""
創建用戶并將用戶資訊,添加至全域資料池中
:mobile_phone:用戶手機號
:param reg_name: 用戶昵稱
:param password: 用戶密碼,默認為12345678
:param type: 用戶型別,默認為1,普通用戶
:return:
"""
do_request = HttpRequset()
CreatPhone = CreatePhone()
# 獲取未注冊手機號
mobile_phone = CreatPhone.create_not_existed_mobile()
# 將用戶資訊添加至全域資料池中
setattr(GlobalData,"mobile_phone", mobile_phone)
create_reg_name=CreateName.create_reg_name()
# 構造請求引數
param = {
"mobile_phone": mobile_phone,
"pwd": password,
"reg_name": create_reg_name,
"type": type
}
# 構造請求url路徑
url = "http://XXXXXXXX"
# 獲取api頭資訊
headers = {'XXXXXXXX':'application/json','XXXXXXX':'XXXXX'}
# 進行注冊
res = do_request.to_request(method="post",
url=url,
data=param,
my_headers=headers,
is_json=True)
return res.json()
# 關閉相關連接
do_request.close()
CreatPhone.close()
createPhone部分代碼
@staticmethod
def create_mobile():
"""
隨機生成11位手機號
start_mobile 為初始三位數
:return: 回傳一個手機號字串
"""
start_mobile = ['138', '139', '188']
start_mobile = random.choice(start_mobile)
end_num = ''.join(random.sample('0123456789', 8))
return start_mobile + end_num
def is_existed_mobile(self, mobile):
"""
判斷指定的手機號在資料庫中是否存在
"""
sql = 'SELECT mobile_phone FROM member WHERE mobile_phone=%s;'
if self.get_one_value(sql, args=[mobile]): # 手機號已經存在,則回傳True,否則回傳False
return True
else:
return False
def create_not_existed_mobile(self):
"""
隨機生成一個在資料庫中不存在的手機號
:return: 回傳一個手機號字串
"""
while True:
one_mobile = self.create_mobile()
if not self.is_existed_mobile(one_mobile):
break
return one_mobile
createRegName
class CreateName():
@staticmethod
def create_reg_name():
start_name = 'hc'
#從資源池中取出手機號
end_name=getattr(GlobalData, "mobile_phone")
return start_name+end_name[-4:]
GlobalData
# 存盤全域資料
class GlobalData:
pass
主函式 run
from createUser import create_user
#回圈一次,可設定n此
for num in range(0,1):
res=create_user()
print(res)
5、運行結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/84478.html
標籤:其他
