1. 程式人生 > 其它 >python - 介面自動化 - Requests 除錯指令碼綜合實戰

python - 介面自動化 - Requests 除錯指令碼綜合實戰

學校管理系統介面測試基本流


# 引入模組requests與random
import requests
import random
import json
# 管理系統父路徑
SMS_Url = "http://192.168.233.128:8080/recruit.students/school/manage"

##    登入系統
# 學校管理系統登入頁路徑
SMS_LoginUrl = "http://192.168.233.128:8080/recruit.students/login/in"

# 登入get請求的params引數
LoginParams = {
    "account": "admin",
    "pwd": "660B8D2D5359FF6F94F8D3345698F88C"
}

# 使用requests模組的Session方法構建一個用於保持登入狀態的SMS_LoginKeep例項物件
SMS_LoginKeep = requests.Session()

# 構建,傳送登入get請求
SMS_LoginKeep.get(url = SMS_LoginUrl, params = LoginParams)


##    新建學校
# 管理系統新建學校子路徑
SMS_AddUrl = "/addSchoolInfo"

# 一個隨機學校名和一個隨機備註
SchoolNameRandom = random.randint(1, 1000000000)
RemarkRandom = random.randint(1, 100000)

# 新建學校post請求的body引數
SchoolAddBody = {
    "schoolName": SchoolNameRandom,
    "listSchoolType[0].id": 2,
    "canRecruit": 1,
    "remark":  RemarkRandom
}

# 構建,傳送新建學校post請求
RespondOfSchoolAdd = SMS_LoginKeep.post(url = SMS_Url + SMS_AddUrl, data = SchoolAddBody)

# 新建學校後響應新學校資訊的json轉為字典儲存在NewSchoolInfoDict
NewSchoolInfoDict = RespondOfSchoolAdd.json()


##    禁用學校
# 管理系統禁用學校子路徑
SMS_EnableOrDisableUrl = "/enableOrDisableSchool"

# 禁用學校post請求的body引數
SchoolDisableBody = [{"id": NewSchoolInfoDict["data"]["laccount"], "disable": 0, "schoolId": NewSchoolInfoDict["data"]["id"]}]

# 構建,傳送啟用或禁用學校的post請求
SMS_EnableOrDisable = SMS_LoginKeep.post(url = SMS_Url + SMS_EnableOrDisableUrl, json = SchoolDisableBody)
print(SMS_EnableOrDisable.text)

##    設定學生錄入時間
# 設定學生錄入時間子路徑  以下未寫
SMS_SetStudentsRecruitTimeUrl = "/setStudentRecruitTime"

# 更改學生錄入時間

# 更改學校為自主招生
# SMS_SetSchoolself = SMS_LoginKeep.post(url = )



shop商場 專案主要流程


# 引入requests模組
import requests

# Url:登入請求路徑
Url = "http://192.168.233.128/xiaoqiangshop/user.php"

# LoginBody:登入的body引數
LoginBody = {
    "username": "admin",
    "password": "test123",
    "remember": "1",
    "act": "act_login",
    "back_act": "http%3A%2F%2F192.168.233.128%2Fxiaoqiangshop%2Findex.php&submit="
}

# GoodsUrl商品查詢路徑
GoodsUrl = "http://192.168.233.128/xiaoqiangshop/goods.php"

# 查詢id為134的商品的params引數
GoodNum134 = {
    "id": "134"
}

# 加入購物車步驟的路徑
AddToCartAndCheck = "http://192.168.233.128/xiaoqiangshop/flow.php"

# 加入購物車的params引數
ParAddInCart = {
    "step": "add_to_cart"
}

# 商品id為134加入購物車的body引數
AddToCart134 = {
    "goods": '{"quick": 1, "spec": [], "goods_id": 134, "number": "1", "parent": 0}'
}

# 檢視購物車的params引數
Cart = {
    "step": "cart"
}

# 結算中心的params引數
Check = {
    "step": "checkout"
}

# 提交訂單的params引數
Done = {
    "step": "done"
}

# 提交訂單的body引數
DoneBody = {
    "shipping": 1,
    "payment": 1,
    "bonus": 0, 
    "bonus_sn": [],
    "postscript": [],
    "how_oos": 0,
    "x": 50,
    "y": 40,
    "step": "done"
}

# 使用requests模組中的Session方法構建一個Session物件,命名為RequestSession,使用RequestSession可以保持登入狀態
RequestSession = requests.Session()

# 使用RequestSession物件的post方法向登入頁傳送post請求
RequestSession.post(url = Url, data = LoginBody)

# 保持登入狀態下使用get方法取得指定商品id的商品展示頁
RequestSession.get(url=GoodsUrl, params=GoodNum134)

# 將商品id為134的商品加入購物車
RequestSession.post(url = AddToCartAndCheck, params = ParAddInCart, data = AddToCart134)

# 進入結算中心
RequestSession.get(url = AddToCartAndCheck, params = Check)

# 提交訂單
RequestSession.post(url=AddToCartAndCheck, params=Done, data = DoneBody)