(一)說明
相信不管是gui自動化測試,亦或者是api自動化測試,都離不開測試資料。
這裡說的測試資料我理解分為2部分:
1、用例執行前需要的前置條件,例如我驗證正確賬戶、密碼能否成功登入,首先就需要乙個已經註冊的使用者。
2、測試用例本身需要的輸入及預期結果。例如:呼叫乙個api,我需要設定不同的請求引數,驗證不同請求引數下的響應是否符合預期。這裡的請求引數和預期結果也是我們的測試資料。
這裡主要提供個思路,在api自動化,亦或者gui自動化中,該怎麼管理我們的測試資料(這裡針對的是第二種測試資料)。思路大概是:應用工廠設計模式
1、工廠類:接受不同格式的資料,解析並處理為dataframe格式資料
2、將dataframe格式的資料處理成字典或列表。
使用工廠模式有個優點是,方便以後的擴充套件,例如如果有新增的檔案格式,只要在工廠類中新增該檔案格式的實現即可。
(二)簡單實現**
1 import os
2 import pandas as pd
3 4
5 class paramconfigsourcefactory():
6 7 def __init__(self,filename,sheet_name=none):
8 """
9 工廠設計模式:接受不同格式資料,解析並轉換為dataframe格式資料
10 :param filename:
11 :param sheet_name:
12 """
13 self.filename = filename
14 self.sheet_name = sheet_name
15 self.df = self.get_file_data()
16 17 def get_file_data(self):
18 file_type = os.path.splitext(self.filename)[1]
19 if file_type == '.xlsx':
20 df = pd.read_excel(io=self.filename,
21 sheet_name=self.sheet_name)
22 else:
23 raise valueerror("不支援的檔案格式{},僅支援xlsx格式".format(file_type))
24 return df
25 26
27 class paramconfigsource():
28 29 def __init__(self,filename,sheet_name=none):
30 self.filename = filename
31 self.sheet_name = sheet_name
32 self.df = paramconfigsourcefactory(filename=self.filename,sheet_name=self.sheet_name).df
33 34 def get_all_test_data_format_dict(self,flag=0):
35 """
36 :param flag
37 flag=0 返回 ,1:}格式資料
38 flag=1 返回 格式資料
39 :return:
40 """
41 col_name = [col for col in self.df]
42 data = {}
43 num = 0
44 for indexs in self.df.index:
45 if flag == 0:
46 row_data = {}
47 for i in range(len(self.df.loc[indexs].values)):
48 row_data[col_name[i]] = self.df.loc[indexs].values[i]
49 elif flag == 1:
50 row_data =
51 for i in range(len(self.df.loc[indexs].values)):
53 else:
54 raise valueerror("不支援的引數:{}".format(flag))
55 data[num] = row_data
56 num += 1
57 return data
58 59 def get_all_test_data_format_list(self):
60 """
61 返回[(value1,value2...),(...)]格式資料
62 :return:
63 """
64 data =
65 for indexs in self.df.index:
66 row_data =
67 for i in range(len(self.df.loc[indexs].values)):
70 return data
71
72 # 執行下看下結果
73 pcs = paramconfigsource(filename="./測試1.xlsx",sheet_name="sheet1")
點讚關注~~持續分享,加入我們。642830685,免費領取最新軟體測試大廠面試資料和python自動化、介面、框架搭建學習資料!技術大牛解惑答疑,同行一起交流。
自動化測試 筆記
1.1簡介 qtp是以前的主流,能佔到70 80 惠普收購後結合其他的測試系統組合公升級成為uft1.2使用流程 1.選擇對應的外掛程式型別 c s b s結構 匹配uft中設定的物件容器 c s結構的選擇visual basic activex 2.根據載入的物件容器,利用物件定義的工具進行物件的...
ios自動化測試資料
官方文件 ios助手開發資料 命令列啟動instruments 使用命令安裝 for xcode 4.5 instruments t automationinstrument.bundle contents resources automation.tracetemplate e uiaresult...
UI自動化測試筆記 1
以前聽過不少同事講ui自動化,我的team裡邊也開始寫自動化一段時間了。我去一直沒有機會上手,雜事忙啊。現在好了,從lead的職位上退了下來,暫時無事,索性自己動手弄弄這個東西。我是從乙個demo開始的 自動化開啟notepad,寫些東西,儲存。就這麼簡單!不過還是耗費了不少時間,萬事開頭難嘛。哦,...