在日常測試過程中,經常遇到需要讀取測試資料檔案,這邊就涉及到乙個檔案讀取的方法。
這篇文章主要以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 ...