entity,實體,前面已經介紹過實體類了,這個模組的作用是資料層的獲取,簡而言之,從資料庫獲取資料組裝進入前面介紹的資料庫的實體類。
這個我給乙個查詢是一條記錄的例項,如果是list,依樣迴圈處理就行了,比較簡單。
首先匯入moudle模組
import moudle
class entity:
def get_info_by_keyid(self, keyid):
#底層查詢實現,sql_exec是我自己封裝的使用pymysql的fetchall()
data = component.common.sql_exec(
sqls="select * from where keyid='%s'".format("表名")
% keyid, dbname="庫名").execute()
# 通過object_indo把資料庫的格式裝換成關鍵字引數格式
parm = self.object_indo(data, "表名", "庫名")[0]
# to object
return moudle.minfo(**parm)
@staticmethod
def object_indo(data, table_name, dbname):
""":param data: 查詢的底層資料
:param table_name: 查詢的表名
:param dbname: 查詢的庫名
:return: 例項化model入參list
"""if data is none:
data = ((),)
head = common().sql_exec(
sqls="select column_name from columns where table_name = '%s' and table_schema = '%s';" % (table_name, dbname)
, dbname="information_schema").execute()
#資料轉換
info = {}
info_list =
for item in data:
data_list = list(item)
#資料庫格式處理
for i in range(len(head)):
if isinstance(data_list[i], datetime.datetime):
data_list[i] = data_list[i].strftime('%y-%m-%d %h:%m:%s')
if isinstance(data_list[i], decimal):
data_list[i] = float(data_list[i])
info[head[i][0]] = data_list[i]
return info_list
其實實現不重要,主要是用例搭建模組化的思想,對於用例中所有會獲取資料的地方都被集中到這裡統一管理,即使獲取乙個字段,不需要裝入實體類也是一樣的。用例要提高效率必須提高可復用性。 python介面測試用例框架(1) 指令碼框架
最近自己整理了乙份新的介面測試用例框架,之前是基於wcf服務,比較簡單,現在是基於.netcore和spring boot 實現的api,所以全是http https 請求。第一部分,先說一下整體的框架 業務模組資料夾 business 公用模組資料夾 common 公用模組 common 實體類 ...
介面測試用例
介面測試用例實際 設計思路 1 優先順序 針對所有介面 1 暴露在外面的介面,因為通常該介面會給第三方呼叫 2 供系統內部呼叫的核心功能介面 3 供系統內部呼叫非核心功能介面 2 優先順序 針對單個介面 1 正向用例優先測試,逆向用例次之 通常情況,非絕對 2 是否滿足前提條件 是否攜帶預設參值引數...
介面測試用例
請求結構 請求方法 支援 http get 方法傳送請求,這種方式下請求引數需要包含在請求的 url 中。支援 http post 方法傳送請求,這種方式下請求引數需要包含在請求的 body 中。字元編碼 請求及返回結果都使用utf 8字符集進行編碼。公共引數 名稱 是否必須 描述signature...