zoukankan      html  css  js  c++  java
  • 数据驱动ddt

    在设计用例的时候,有些用例操作过程是一样的,只是参数数据输入的不同,如果用例重复的去写操作过程会增加代码量,对于这种多组数据的测试用例,可以使用数据驱动设计模式,一组数据对应一个测试用例,用例自动加载生成

    1.安装ddt模块

    2.数据驱动的原理

    (1)测试数据为多个字典的list类型

    (2)测试类前需要加修饰@ddt.ddt

    (3)测试用例方法前需要加修饰@ddt.data()

    3.代码:

    from selenium import webdriver
    from common.base import BasePage
    from page.page_login import LoginPage,login_url
    from common.read_excel_ddt import ExcelUtil
    import unittest
    import ddt
    case_data=[{"user":u"欧皇林宝","psw":u"xxxx","except":False},
    {"user":u"欧皇林宝","psw":u"xxxxxxx.","except":True}
    ]

    @ddt.ddt
    class Login_test(unittest.TestCase):
    '''登录页面的测试用例'''

    @classmethod
    def setUpClass(cls):
    #只打开一次浏览器
    cls.driver=webdriver.Firefox()
    #实例化page_login中的LoginPage类
    cls.login_driver=LoginPage(cls.driver)
    cls.driver.open(login_url)

    def setUp(self):
    #每次都从登录页开始
    self.driver.get(login_url)

    def tearDown(self):
    #每次清空登录的cookie,数据还原
    self.driver.delete_all_cookies()
    @classmethod
    def tearDownClass(cls):
    #关闭浏览器
    cls.driver.quit()

    def login_case(self,user,psw,exc):
    '''登录的流程'''
    self.login_driver.input_username(user)
    self.login_driver.input_password(psw)
    self.login_driver.click_submit()
    result=self.login_driver.is_login_sucess()#获取结果
    except_result=exc#期望结果
    self.assertEqual(result,except_result)#断言

    @ddt.data(*case_data)#多个数据 挨个去传
    def test_login_01(self,casedata):
    '''登陆失败用例:输入正确的账户,错误的密码'''
         print(case_data)
    def test_login_02(self,casedata):
            '''登陆失败用例:输入正确的账户,正确的密码'''
         print(case_data)
    if __name__=="__main__":
    unittest.main(verbosity=2)
  • 相关阅读:
    P5136 sequence(矩阵快速幂)
    P5135 painting(组合数)
    CF888E Maximum Subsequence(meet in the middle)
    P4463 [国家集训队] calc(拉格朗日插值)
    CF364D Ghd(随机化)
    P3270 [JLOI2016]成绩比较(拉格朗日插值)
    bzoj3453: tyvj 1858 XLkxc(拉格朗日插值)
    P4593 [TJOI2018]教科书般的亵渎(拉格朗日插值)
    tomcat8版本实现虚拟主机
    NFS网络文件系统方案
  • 原文地址:https://www.cnblogs.com/linbao/p/8093870.html
Copyright © 2011-2022 走看看