zoukankan      html  css  js  c++  java
  • Selenium(Python) ddt读取Excel文件数据驱动

    首先,

    引入xlrd模块:

    ExcelDDT.py:

    import unittest
    from time import sleep

    from ddt import ddt, data
    from selenium import webdriver
    from xlrd import open_workbook


    def getExcelTestData():
    openExcelFile = open_workbook("./ExcelTestData.xlsx")
    # 打开Excel文件
    getSheet = openExcelFile.sheet_by_name("Sheet1")
    # 获取工作表
    rowNumber = getSheet.nrows
    # 获取行数
    dataList = []
    # 数据List
    for i in range(1, rowNumber):
    # 从第二行开始遍历每一行
    dataList.append(getSheet.row_values(i))
    # 把每个单元格的数值存放到dataList中
    return dataList


    @ddt
    # 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(*getExcelTestData())
    # 传递数据
    def test_something(self, data):
    searchTerm, searchResult = tuple(data)
    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()


    ExcelTestData.xlsx文件:

    
    
  • 相关阅读:
    Google Map API基本概念(转载)很好的例子
    Sql Exception Handling & Throw Exception
    幸福人生讲座(十):五伦中哪一伦最重要?
    Delete Database Log
    杨澜语录
    余世雄 如何提升职场“执行力”
    红楼女梦
    假如我真的看透了
    余世维 有效沟通
    习惯修养
  • 原文地址:https://www.cnblogs.com/yjlch1016/p/8489111.html
Copyright © 2011-2022 走看看