獲取介面引數我寫了七層 for 迴圈

AlexMaxMiao發表於2020-07-16

業務邏輯

  • 我們的系統查詢有級聯關係,必填輸入框有8個(下拉選擇式),選填另算,根據不同的維度會查到不同的資料
  • 需要對查詢條件做遍歷,將查詢到的結果記錄下來(返回狀態碼、返回結果是否為空、返回不為空的結果判斷是否正確)

具體實現

  • 根據級聯關係,將第一個下拉框的結果作為第二個下拉框的輸入···以此類推,遍歷了8個下拉框的內容,對內容進行全對偶的匹配,得到8個引數值作為一組測試用例,儲存至檔案,然後再讀取檔案獲取用例做資料驅動

程式碼邏輯

# 獲取引數
def get_data(host, file_name):
tru_file(file_name)
data = {}
factoryTypes = get_factoryType()
cutType = get_cutType()
data["cutType"] = cutType
for factotyType in factoryTypes:
data["factoryType"] = factotyType
ProductGroups = get_ProductGroup(host, factotyType)
stepGroups = get_StepGroup(host, factotyType)
for ProductGroup in ProductGroups:
data["productGroup"] = ProductGroup
productIDS = get_ProductID(host, factotyType, ProductGroup)
for productID in productIDS:
data["productId"] = productID
for stepGroup in stepGroups:
data["stepGroup"] = stepGroup

stepIds = get_StepId(host, factotyType, productID, stepGroup)
for stepID in stepIds:
data["stepId"] = stepID

ItemTypes = get_ItemType(host, factotyType, stepID)
for ItemType in ItemTypes:
data["itemType"] = ItemType
items = get_Item(host, factotyType, stepID, ItemType)
for item in items:
data["item"] = item["key"]

param = get_param(data)
with open(file_name, "a", encoding="utf-8") as f:
f.write(str(param) + "\n")

問題

  • 程式碼屬實不好看,想要優化卻又不知道怎麼合理優化,請教下有沒有好的方法呢

相關文章