Python ddt读取CSV文件数据驱动

Posted 此生不换Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python ddt读取CSV文件数据驱动相关的知识,希望对你有一定的参考价值。

import csv
import unittest
from time import sleep

from ddt import ddt, data, unpack
from selenium import webdriver


def getCsvData():
# 读取CSV文件
value_rows = []
with open(‘./TextData.csv‘, encoding=‘UTF-8‘) as f:
f_csv = csv.reader(f)
next(f_csv)
for r in f_csv:
value_rows.append(r)
return value_rows

@ddt
# 数据驱动
class MyTestCase(unittest.TestCase):

def setUp(self):
self.driver = webdriver.Firefox()
self.base_url = "https://www.baidu.com/"
self.driver.get(self.base_url)
self.driver.maximize_window()
sleep(2)

@data(*getCsvData())
# 测试数据

@unpack
# 解包
def test_something(self, searchTerm, searchResult):
driver = self.driver
driver.find_element_by_xpath(".//*[@id=‘kw‘]").send_keys(searchTerm)
driver.find_element_by_xpath(".//*[@id=‘su‘]").click()
sleep(2)
responseText = driver.find_element_by_xpath(".//*[@id=‘1‘]/h3/a").text
self.assertEqual(responseText, searchResult)

def tearDown(self):
self.driver.close()
self.driver.quit()

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

搜索词,响应
中国,中国_百度百科
美国,美国_百度百科
英国,英国_百度百科




















































以上是关于Python ddt读取CSV文件数据驱动的主要内容,如果未能解决你的问题,请参考以下文章

pytest参数化实现DDT:读取CSV数据

python-ddt模块使用

Jmeter 参数化之数据驱动(ddt)

python DDT读取excel测试数据

Selenium3+Python3_15:数据驱动ddt+excel

Selenium(Python) ddt读取MySQL数据驱动