zoukankan      html  css  js  c++  java
  • DDT驱动selenium自动化测试

    建两个.py文件分别是是读取xlsx文件内容,一个是测试用例使用ddt驱动

    • 获取xlsx文件内容
    import xlrd
    
    class ParseExcel(object):
        def __init__(self,path,sheelName):
            self.wa = xlrd.open_workbook(path)
            self.sheet = self.wa.sheet_by_name(sheelName)
            self.max = self.sheet.nrows
    
        def getDatasFromSheet(self):
            dataList = []
            list = 0
            for list in range(1,self.max):
                print(self.sheet.row_values(list))
                lin = self.sheet.row_values(list)
                print(lin[1])
                tmpList = []
                tmpList.append(lin[1])
                tmpList.append(lin[2])
                dataList.append(tmpList)
            return dataList
    • 自动化测试用例
    import ddt
    from selenium import webdriver
    import unittest
    from Extel import ParseExcel
    import time
    from selenium.common.exceptions import NoSuchElementException
    
    
    path = "D:\测试数据.xlsx"
    sheelName = "Sheet1"
    excel = ParseExcel(path,sheelName)
    
    @ddt.ddt
    class TestDemo(unittest.TestCase):
        def setUp(self):
            self.deriver = webdriver.Chrome()
    
        @ddt.data(*excel.getDatasFromSheet())
        def test_dataDrivenByFile(self,data):
            TestData,expectData = tuple(data)
            url = "http://www.baidu.com"
            self.deriver.get(url)
            self.deriver.maximize_window()
            print(TestData,expectData)
            self.deriver.implicitly_wait(10)
    
            try:
                self.deriver.find_element_by_id("kw").send_keys(TestData)
                print('执行了')
                self.deriver.find_element_by_id("su").click()
                time.sleep(3)
                print('执行了')
                source = self.deriver.page_source
                self.assertTrue(expectData in source)
            except NoSuchElementException:
                print("查找页面元素不存在")
            except AssertionError:
                print(u"搜索%s期望%s,失败" % (TestData, expectData))
            except Exception:
                print('报错')
            else:
                print(u"搜索%s期望%s,通过"%(TestData,expectData))
    
        def tearDown(self):
            self.deriver.quit()
    
    if __name__ == "__main__":
        unittest.main()

    表格内容

    后期可以接入logging打印日志

  • 相关阅读:
    Allegro转换PADS终极篇.....
    PNP与NPN三极管
    windows无法设置防火墙
    SourceInsight 不断无响应的有关问题
    看片/复制/下载技巧
    WinRAR 5.01 正式版 (简体中文)附注册机及注册码
    JVM 学习笔记 1. JVM 运行模型
    Core Java笔记 9.集合(I)
    Core Java笔记 8.泛型(II)
    Core Java笔记 7.泛型(I)
  • 原文地址:https://www.cnblogs.com/zhmiao/p/10536290.html
Copyright © 2011-2022 走看看