接口自动化____如何根据测试数据excel中的数据量多少 去test类中定义同数据量的测试函数

背景:

在做2.0核心接口测试的时候,针对一个接口,如:客户信息查询  在测试数据的excel中假如填入了三行数据,如何根据

excel中有多少行的数据去动态的定义多少个test函数。

 

解决方案:

1.由于python的unittest中默认设置是:测试类中的函数,以test开头的会被执行,其他的不被执行,所以先定义一个测试函数,注意取名不能以test开头

 

比如上图,只有my_2700这么一个函数作为测试函数,这个传入的x是指作为测试数据的EXCEL中的某一行(如传入的是3,就是针对测试数据excel中的第三行,依次读取第三行中的数据,然后发送请求),然后根据下图,定义一个get_test函数,用来执行my_2700函数,最后的关键在于  __test_demo()函数

setattr第一个参数传入这个类名,第二个参数可以用来重命名这个函数,第三个参数就是来实例化的函数,这里的i的值为测试数据excel的行数,然后每一行生成一个test打头的函数名,这样子就完成了本篇文章一开头的需求,实现了根据excel的数据量,动态定义用来执行unittest的的函数。

关于setattr不懂的可以自己百度熟悉。

 

posted @ 2019-01-30 22:19  Alantammm  阅读(323)  评论(0编辑  收藏  举报