13.Python+tselenium数据驱动-Excel数据的读取方法

一、安装openpyxl
pip install openpyxl
在这里插入图片描述
二、获取Excel表格数据
以下是我的表格数据
在这里插入图片描述

#导入load_workbook工作表
from openpyxl import load_workbook

#创建粘贴工作表数据的类
class ParseExcel():
	#工作表路径及工作表的名字
    def __init__(self,excelPath,sheetName):
    	#加载表格,读取数据
        self.wb=load_workbook(excelPath)
        #通过工作表表名获取当前表格
        self.sheet=self.wb.get_sheet_by_name(sheetName)
        self.maxRowNum=self.sheet.max_row
	
	#从表格中获取数据
    def getDatasFromSheet(self):
    	#创建需要获取数据的列表
        dataList=[]
        #从第二行开始读取表格数据
        for line in self.sheet.rows[1:]:
        	#创建列表存放每一行数据
            tmpList=[]
            tmpList.append(line[0].value)
            tmpList.append(line[1].value)
            #将每一行数据加入到总数据列表中
            dataList.append(tmpList)
        #print(dataList)
        return dataList	
if __name__ =='__main__':
    excelPath='E:/python/test/webSelenium/data_7/data/data1.xlsx'
    sheetName='Sheet1'
    #实例化数据
    pe = ParseExcel(excelPath,sheetName)	
    #获取工作表数据
    for i in pe.getDatasFromSheet():
        print(i[0])

三、Excel与ddt 结合

import ddt
import unittest,time
from selenium import webdriver;
#从上面创建的Python文件中导入ParseExcel
from count_file.Excelutil import ParseExcel

#数据调用需要传入的路径及工作表名字及对函数进行调用
excelPath = 'E:/python/test/webSelenium/data_7/data/data1.xlsx'
sheetName = 'Sheet1'
excel = ParseExcel(excelPath, sheetName)

@ddt.ddt
class DoubanTest(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
    def tearDown(self):
        self.driver.quit()
    #传入数据
    @ddt.data( * excel.getDatasFromSheet())
    def test_dataDriverByFile(self,data):
    	#将传入的数据
        testData,exceptData=data
        self.driver.get('https://www.baidu.com/')
        time.sleep(1)
        self.driver.find_element_by_id('kw').send_keys(testData)
        time.sleep(2)
        self.driver.find_element_by_id('su').click()
        time.sleep(2)
        self.assertIn( exceptData,self.driver.page_source)
if __name__ =='__main__':
    unittest.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值