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

    # coding:utf-8
    import unittest
    import ddt
    from selenium import webdriver
    from ke1test.pageobjectmodle.page_blog.loginpage import LoginPage
    '''所谓的数据驱动就是能自动将list中的多条用例参数数据给拆分成多条用例的参数',并运行该多条用例'''

    datas = [
    {
    'username': 'admin',
    'psw': '@Test1234',
    'result': 'admin'
    },
    {
    'username': 'admin1',
    'psw': '@Test1234',
    'result': ''
    }
    ]
    @ddt.ddt
    class TestLoginCase(unittest.TestCase):
    # case1 = {
    # 'username' : 'admin',
    # 'psw' : '@Test1234',
    # 'result' : 'admin'
    # }
    # case2 = {
    # 'username' : 'admin1',
    # 'psw' : '@Test1234',
    # 'result' : ''
    # }
    @classmethod
    def setUpClass(cls):
    cls.driver = webdriver.Chrome()
    cls.login_page = LoginPage(cls.driver)


    def tearDown(self):
    self.login_page.logout()

    @classmethod
    def tearDownClass(cls):
    cls.driver.quit()

    def login_case(self, case_dict):
    self.login_page.login(case_dict['username'], case_dict['psw'])
    result = self.login_page.get_login_result()
    return result

    @ddt.data(*datas)
    def test_login_case(self, case_dict):
    self.assertEqual(self.login_case(case_dict), case_dict['result'])

    # def test_login_success(self):
    # self.assertEqual(self.case1['result'], self.login_case(self.case1))
    #
    # def test_login_fail(self):
    # self.assertEqual(self.case2['result'], self.login_case(self.case2))

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

    使用ddt之前多少条用例就需要写多少个参数,且需要写多个用例,使用ddt之后,可直接用一条用例
    人不可无方向
  • 相关阅读:
    HBase with MapReduce (MultiTable Read)
    HBase with MapReduce (SummaryToFile)
    HBase with MapReduce (Summary)
    HBase with MapReduce (Read and Write)
    HBase with MapReduce (Only Read)
    Hbase中的BloomFilter(布隆过滤器)
    HBase的快照技术
    How To Use Hbase Bulk Loading
    Cloudera-Manager修改集群的IP
    Java中的HashSet和TreeSet
  • 原文地址:https://www.cnblogs.com/yueyanru/p/9437518.html
Copyright © 2011-2022 走看看