栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

unittest中python语言,多行列表格读取及用例调用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

unittest中python语言,多行列表格读取及用例调用

框架格式

 test_data.xlsx表格数据:

下面是excel_read.py

from openpyxl import load_workbook
class ReadExcel():
    def __init__(self,excel_path,sheetName):
        self.wb = load_workbook(excel_path)
        self.sheet = self.wb[sheetName]    #wb[]中跟sheet表单名称

    '''以下适合只有一列的情况'''
    def getDataFromSheet(self):
        datalist = []
        for line in self.sheet:
            datalist.append(line[0].value)
        # datalist.pop(0)     '''切割'''
        return datalist

    '''尝试改为表格的多行输出'''
    def getDataFromSheet_more(self):
        datalist = []
        for line in self.sheet:
            tmp_list = []
            tmp_list.append(line[0].value)   #读取第一个数据
            tmp_list.append(line[1].value)    #追加第二个数据
            tmp_list.append(line[2].value)    #追加第三个数据
            datalist.append(tmp_list)
        return datalist

if __name__ =='__main__':
    excel_path = './../data_manage/test_data.xlsx'
    sheetName= 'product1'
    pe = ReadExcel(excel_path,sheetName)
    # pe.getDataFromSheet()
    print(pe.getDataFromSheet())
    print(pe.getDataFromSheet_more())

以上代码单独运行时输出如下:

 

以下test_2classfy.py代码:

import unittest,ddt
from time import sleep
from selenium import webdriver
from utils.excel_read import ReadExcel
'''基础的通用框架,调用excel表的全部'''
excelPath = './../data_manage/test_data.xlsx'
sheetName = 'product1'
excel = ReadExcel(excelPath,sheetName)
@ddt.ddt
class Test_2Classfy(unittest.TestCase):
    # @classmethod
    # def setUpClass(self):
    #     self.driver=webdriver.Chrome()
    # @classmethod
    # def tearDownClass(self):
    #     self.driver.quit()

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://121.5.160****")
        self.driver.maximize_window()
        sleep(4)

    def tearDown(self):
        self.driver.close()
    @ddt.data( * excel.getDataFromSheet_more())
    def test_login2(self,data):
        self.driver.find_element_by_xpath("//input[@placeholder='请输入用户名']").send_keys(data[0])
        self.driver.find_element_by_xpath("//input[@placeholder='请输入密码']").send_keys(data[1])
        sleep(1)
        self.driver.find_element_by_xpath('//*[@id="root"]/div/div[2]/div[2]/div/input').click()
        sleep(3)
        self.assertIn(data[2], self.driver.page_source)


if __name__=='__main__':
    unittest.main()

 注意读取一行数据时,可以用data[0]/data[1]...等进行取值

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号