API自動化測試筆記(二) 測試資料

2021-10-09 18:49:27 字數 3537 閱讀 9201

(一)說明

相信不管是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,寫些東西,儲存。就這麼簡單!不過還是耗費了不少時間,萬事開頭難嘛。哦,...