讀取三種文件的方法


pytest需要掌握的:

命令行

參數化

fixture=conftest.py

pytest.ini

安裝allure

一、數據驅動,整合unittest

1、新建一個表格,,

2、另存為桌面 ,選擇格式:csv,保存到桌面

 

 

 3、把文件放在data下:

 

 

4、導入csv方法讀取文件

(1)用列表方式讀取:

import csv
from utils.pathUtils import filePath

def readCsvList():
	"""列表的方式讀取csv文件"""
	with open(filePath(fileName='data.csv'),encoding='utf-8') as f:
		reader=csv.reader(f)
		lists=[]
		#不讀取第一行內容
		next(reader)
		for item in reader:
			lists.append(item)
	return lists

print(readCsvList())

  執行以上代碼,,結果為:

 

 

 執行測試用例

import time as t
from page.sina import Sina
from page.init import InitSina
# from utils.joinUtils import readJson
from utils.csvUtils import readCsvList
import unittest

class QQTest(InitSina,Sina):
	def test_sina_login_001(self):
		"""登陸用戶名和密碼為空驗證"""
		self.login(username=readCsvList()[0][0],password=readCsvList()[0][1])
		self.clickLogin
		self.assertEqual(self.getDivText,readCsvList()[0][2])

	def test_sina_login_002(self):
		"""登陸,驗證郵箱格式不正確"""
		self.login(username=readCsvList()[1][0],password=readCsvList()[1][1])
		self.assertEqual(self.getDivText,readCsvList()[1][2])

	def test_sina_login_003(self):
		"""登陸,驗證用戶名和密碼錯誤"""
		self.login(username=readCsvList()[2][0], password=readCsvList()[2][1])
		self.clickLogin
		self.assertEqual(self.getDivText,readCsvList()[2][2])

  執行以上代碼結果為:

 

 

 (2)字典方式讀取csv的文件內容

def readCsvDict():
	"""字典方式讀取csv的文件內容"""
	with open(filePath(fileName='data.csv'),encoding='utf-8') as f:
		lists=[]
		reader=csv.DictReader(f)
		for item in reader:
			lists.append(dict(item))
	return lists
# print(readCsvDict())
# # print(readCsvDict()[0]['期望結果'])
# print(readCsvDict()[1]['期望結果'])

  執行測試用例:

from page.sina import Sina
from page.init import InitSina

from utils.csvUtils import readCsvDict
import unittest

class QQTest(InitSina,Sina):
	def test_sina_login_001(self):
		"""登陸用戶名和密碼為空驗證"""
		self.login(username=readCsvDict()[0]['\ufeffusername'],password=readCsvDict()[0]['password'])
		self.assertEqual(self.getDivText,readCsvDict()[0]['期望結果'])

	def test_sina_login_002(self):
		"""登陸,驗證郵箱格式不正確"""
		self.login(username=readCsvDict()[1]['\ufeffusername'],password=readCsvDict()[1]['password'])
		self.clickLogin
		self.assertEqual(self.getDivText,readCsvDict()[1]['期望結果'])

	def test_sina_login_003(self):
		"""登陸,驗證用戶名和密碼錯誤"""
		self.login(username=readCsvDict()[2]['\ufeffusername'],password=readCsvDict()[2]['password'])
		self.clickLogin
		self.assertEqual(self.getDivText,readCsvDict()[2]['期望結果'])

  執行以上代碼,結果為:

 

 

 (3)讀取excel文件內容

import xlrd
from utils.pathUtils import filePath

def readExcel():
	"""讀取excel的文件"""
	lists=[]
	book=xlrd.open_workbook(filePath(fileName='data.xlsx'))
	sheet=book.sheet_by_index(0)
	for item in range(1,sheet.nrows):
		lists.append(sheet.row_values(item))
	return lists

print(readExcel())

  執行測試用例

import time as t
from page.sina import Sina
from page.init import InitSina
from utils.excelUtils import readExcel
import unittest

class QQTest(InitSina,Sina):
	def test_sina_login_001(self):
		"""登陸用戶名和密碼為空驗證"""
		self.login(username=readExcel()[0][0],password=readExcel()[0][1])
		self.clickLogin
		self.assertEqual(self.getDivText,readExcel()[0][2])

	def test_sina_login_002(self):
		"""登陸,驗證郵箱格式不正確"""
		self.login(username=readExcel()[1][0],password=readExcel()[1][1])
		self.assertEqual(self.getDivText,readExcel()[1][2])

	def test_sina_login_003(self):
		"""登陸,驗證用戶名和密碼錯誤"""
		self.login(username=readExcel()[2][0], password=readExcel()[2][1])
		self.clickLogin
		self.assertEqual(self.getDivText,readExcel()[2][2])

  執行以上代碼為:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM