import xlrd'''通用獲取excel數據@:param path excel文件路徑@:param sheet_name excel文件里面sheet的名稱 如:Sheet1@:env 環境,是IT還是PRE'''def getExcelDate(path, sheet_name,env):bk = xlrd.open_workbook(path)sh = bk.sheet_by_name(sheet_name)row_num = sh.nrowsdata_list = []for i in range(1, row_num):row_data = sh.row_values(i)data = {}for index, key in enumerate(sh.row_values(0)):data[key] = row_data[index]data_list.append(data)data_list1 = []for x in data_list:#print('這是'+str(x))if(x.get('env')==env):data_list1.append(x)return data_list1
getToken 提供接口下單的授權token
*** Keywords ***# 根據傳入的clientid、secret生成對應的tokengetToken[Arguments] ${client_id} ${client_secret} ${url_domain}Create session postmain ${url_domain}${auth} createdictionary grant_type=client_credentials client_id=${client_id} client_secret=${client_secret}${header} createdictionary content-type=application/x-www-form-urlencoded${addr} postRequest postmain /oauth/token data=${auth} headers=${header}Should Be Equal As Strings ${addr.status_code} 200${responsedata} To Json ${addr.content}${access} Get From Dictionary ${responsedata} access_token${token} set variable bearer ${access}Set Test Variable ${token}Delete All Sessions
getAllDate 獲取該用例下的所有數據
getAllData[Arguments] ${row_no}getEnvDomaingetBalance ${row_no}getStockNum ${row_no}getSupProPrice ${row_no}getProPrice ${row_no}Set Test Variable ${publicOrderUrl}Set Test Variable ${FPbalance}Set Test Variable ${Pbalance}Set Test Variable ${Sbalance}Set Test Variable ${Jbalance}Set Test Variable ${Cardnum}Set Test Variable ${sprice}Set Test Variable ${price}Set Test Variable ${j_merchant_id}Set Test Variable ${s_merchant_id}Set Test Variable ${stock_id}Set Test Variable ${p_product_id}Set Test Variable ${s_product_id}
實現demo
*** Settings ***Test TemplateResource 引用所有資源.txt*** Test Cases ****** Settings ***Test TemplateResource 引用所有資源.txt*** Test Cases ***01 下單卡密直儲商品[Tags] orderLOG ---------------------獲取下單前的數量、余額------------------------------------------getAllData 0${Cardnum1} set variable ${Cardnum}${FPbalance1} set variable ${FPbalance}${Pbalance1} set variable ${Pbalance}${Sbalance1} set variable ${Sbalance}${Jbalance1} set variable ${Jbalance}${CustomerOrderNo1} Evaluate random.randint(1000000, 9999999) random${Time} Get Timelog ------------------------下單操作-------------------------------------------------------getToken 100xxxx 295dab07a9xxxx9780be0eb95xxxx ${casUrl}${input_cs} create dictionary memberId=${j_merchant_id} clientId=1xxx079 userId=string shopType=string customerOrderNo=${CustomerOrderNo1}... productId=${p_product_id} buyNum=1 chargeAccount=otest888888 notifyUrl=string chargeIp=string chargePassword=string... chargeGameName=string chargeGameRole=string chargeGameRegion=string chargeGameSrv=string chargeType=string remainingNumber=0... contactTel=string contactQQ=string customerPrice=0 poundage=0 batchNumber= originalOrderId=string... shopName=string appointSupProductId=0 stemFromSubOrderId=123456 externalBizId=456789postRequests ${publicOrderUrl} ${input_cs} /api/Order ${token}${data} get from dictionary ${responsedata} data${orderid} get from dictionary ${data} idsleep 6${getdata} create dictionary Id=${orderid} PageIndex=1 PageSize=1getRequests ${publicOrderUrl} ${getdata} /api/Order/GetList ${token}${datalist} get from dictionary ${response_get_data} data${data} get from dictionary ${datalist} list${dict} set variable ${data}[0]${orderOuterStatus} get from dictionary ${dict} orderOuterStatusLOG ---------------------獲取下單后的數量、余額----------------------------------------------getAllData 0${Cardnum2} set variable ${Cardnum}${FPbalance2} set variable ${FPbalance}${Pbalance2} set variable ${Pbalance}${Sbalance2} set variable ${Sbalance}${Jbalance2} set variable ${Jbalance}${sprice} set variable ${sprice}${price} set variable ${price}log ------------------斷言-----------------------------------------------------------------${Cardnum3} Evaluate ${Cardnum1}${Jbalance3} Evaluate ${Jbalance1}${Sbalance3} Evaluate ${Sbalance1}${Pbalance3} Evaluate ${Pbalance1}should be true ${orderOuterStatus}==90should be true ${Cardnum3}==${Cardnum2}should be true ${Jbalance3}==${Jbalance2}should be true ${Sbalance3}==${Sbalance2}should be true ${Pbalance3}==${Pbalance2}