Python+Requests+UnitTest+Excel+ddt接口自动化项目实战

利用UnitTest实现参数化需要用到ddt:

DDT又叫数据驱动(Data-Driven Design),在Python ddt作为一个装饰器存在,用来实现数据的参数化,这样就可以将代码和测试数据分开,将代码进行封装,提高复用性。测试数据在本地文件或数据库进行维护。

通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有多个数据,以元组,列表,字典等数据,需要自行在脚本中对数据进行分解或者使用unpack分解数据

使用方法:使用时在测试类上声明@ddt装饰符,在测试方法上使用@data装饰符;@data装饰符可以将参数当做测试数据传入到测试方法中

第一步、封装方法读取Excel表数据。

 第二步、准备测试数据

以Excel表为准将接口写进表格

 第三步、封装用例

引入ddt下面的所有方法,@ddt需要放在测试类前面进行装饰,然后下面开始创建测试用例,将获取的Excel数据放进@ddt下面的@data()方法里面,参数可以是元组,列表,字典等数据。@data()装饰符会把里面的数据分别拆分成单个元组,列表或者字典的形式进行发送参数,但是在它只适用于单个接口。

注意:在unittest框架中一个test文件会当作一条用例因此不适用于多个接口同时写在一个test测试文件下面执行。例如:将多个接口放在一个test方法下面进行@data()参数化执行,实际都是执行成功,但是在unittest输出的信息和测试报告则只会显示执行了一条用例,因为unittest以test进行区分。因此多个接口需要进行参数化时需要分别进行定义test方法,然后分别用@data()的形式传递参数,这样就能实现多个接口的参数化互不干扰。

测试接口一:

 

 测试接口二:

 

 

posted @ 2020-10-04 18:54  ~狼哥~  阅读(848)  评论(0编辑  收藏  举报