Python讀取測試資料檔案

2021-10-12 01:18:49 字數 2542 閱讀 8744

在日常測試過程中,經常遇到需要讀取測試資料檔案,這邊就涉及到乙個檔案讀取的方法。

這篇文章主要以python讀取檔案的基礎方法為本,包括讀取excel檔案、yaml檔案、csv檔案。

下面是具體實現方式:

import openpyxl

import yaml

import csv

from conf.conf import dir_name

from common.logger import getlogger

logger = getlogger(

).get_logger(

)class

readdata()

:def

get_excel_list

(self, filename)

:'''

獲取excel資料,以[,,]形式顯示

:param filename: excel檔案位址

:return: 所有測試用例

'''wb = openpyxl.load_workbook(dir_name +

'/testdata/%s'

% filename)

ws = wb[

'測試用例'

] all_case =

# 獲取有效資料區域的生成器

select_data_area = ws.iter_rows(min_row=

2, max_row=ws.max_row, min_col=

1, max_col=ws.max_column)

for rows in select_data_area:

case_list =

[cell.value for cell in rows]

return all_case

defget_excel_dict

(self, header, filename)

:'''

獲取excel資料,以[{},{},{}]形式顯示

:param header: 表頭

:param filename: excel檔案位址

:return: 所有測試用例

'''wb = openpyxl.load_workbook(dir_name +

'/testdata/%s'

% filename)

ws = wb[

'測試用例'

] all_case =

for row in

range(2

, ws.max_row+1)

: case_dict =

col =

1for key in header:

# 通過座標獲取每個單元格的內容

case_dict[key]

= ws.cell(row, col)

.value

col +=

1return all_case

defget_yaml

(self, key, filename)

:'''

獲取yaml檔案資料

:param key: 某個用例

:param filename: yaml檔案位址

:return: 所有測試用例

'''try:

with

open

(dir_name +

'/testdata/%s'

% filename,

'r', encoding=

'utf-8'

)as f:

yaml_data = yaml.safe_load(f)

# 根據key獲取某個測試用例

data_dict = yaml_data.get(key)

case_object = data_dict.values(

)return

list

(case_object)

except exception as e:

logger.error(e)

raise e

defget_csv

(self, filename)

:'''

獲取csv檔案資料

:param filename: csv檔案位址

:return: 所有測試用例

'''try:

with

open

(dir_name +

'/testdata/%s'

% filename,

'r', encoding=

'utf-8'

)as f:

# 跳過第一行資料

next

(f) all_cases =

list

(csv.reader(f)

)return all_cases

except exception as e:

logger.error(e)

raise e

讀取excel測試資料

unittest 的 test 本身是不推薦使用函式引數的,然而實際使用時,是不太可能將資料寫死,每條用例資料都寫乙個 test 方法,所以需要借助配置檔案例如excel,然而,又是如何將同乙個方法,進行多次測試,並且用到不同的資料,還生成測試報告呢?如下,提供一種解決方案 1 用xlrd讀取exc...

python讀取測試資料的多種方式

目錄 1 建立乙個config.ini或者.conf檔案,這種方法就是ini檔案的讀取,如下 api url www.taobao.com method get mysql db hello port 3306 2 使用python的configparser庫讀取,如下 from configpar...

MATLAB資料檔案讀取

matlab可以匯入.txt,csv等格式的資料檔案,下面對其進行簡單的說明。1 匯入.txt文字資料 函式格式如下 a importdata filename example a importdata pastespecial example a importdata delimiterin a ...