Python+selenium 数据驱动-DDT

       测试过程经常会碰业务逻辑固定不变的功能,操作过程都是一样的区别在输入的测试数据不同(比如登录)。这种情况,如果重复去写测试的操作过程会增加代码量,对应这种多组数据的测试用例,可以应用数据驱动模式,一组数据对应一个测试用例,用例自动加载并执行。


1.环境

通过pip在线安装ddt模块

>> python -m pip install ddt


2.数据驱动原理

1.测试数据为多个字典组成的列表类型

2.测试类加修饰@ddt.ddt

3.用例加修饰@ddt.data()

4.运行后用例会自动加载成多个单独的用例


3.示例代码

#!/usr/bin/python3
# coding-utf-8
import ddt
import unittest

data = [{"tool":"selenium","language":"python"},
        {"tool":"jmeter","language":"java"},
        {"tool":"loadrunner","language":"C"}]

@ddt.ddt
class Test_ddt(unittest.TestCase):
    @ddt.data(*data)
    def test(self,data):                                               # 传参测试数据列表
        print("############# start #############")
        print("工具: %s  —>  语言: %s"%(data["tool"],data["language"]))# 通过字典的key获取value
        print("#############  end  #############\n")

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

 

你可能感兴趣的:(selenium)