• 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之后,可直接用一条用例
    人不可无方向
  • 相关阅读:
    python处理url中的中文编码,以及其他编码问题
    深度学习与神经网络
    Windows下为64位的python3.4.3安装numpy
    TOP 10开源的推荐系统简介
    遗传算法
    java调用c++生成的动态和静态库时遇到的问题
    java程序(一)----HashMap同时获取键值
    Deep Learning In NLP 神经网络与词向量
    word2vec使用说明
    Spring入门_02_属性注入
  • 原文地址:https://www.cnblogs.com/yueyanru/p/9437518.html
Copyright © 2020-2023  润新知