闭包思维自动生成unittest 接口测试用例脚本

简介: 闭包思维自动生成unittest 接口测试用例脚本

结合了一下unittest,整理如下:

对于n条测试用例,还需要写满篇的test_1 ,test_2么?

显然不需要了。人只需要在表中写好要测试的接口的名字,参数即可。

如图:微信图片_20220609152036.jpg

class Test(unittest.TestCase):
    '测试类'
    token_1 = token_emba('12012341006', '123456') #类变量
    def begin_req(self,apidata):
        u'获取部门列表'
        # print apidata
        if apidata[1] == ['']:
            data = eval(apidata[0])()
        elif apidata[1] != ['']:
            data = eval(apidata[0])(apidata[1])  # 输入要测试的数据,data=(mode,url,body),
        back = json.loads(req(data, self.token_1)['res_body'])  # 获取实际返回值,需要传入token的话,请req(data,token)
        YQ = 200  # 输入预期的值
        SJ = back['code']  # 设置实际返回,如果需要传入TOKEN等header,请务必填写!
        self.assertEqual(SJ, YQ, error_code(SJ, YQ))
def demo(apidata):
    def tool(self):
        Test.begin_req(self,apidata)
    setattr(tool, '__doc__', u'测试%s' % str(apidata[0]))
    return tool
def testall(apidata):
    for i in range(len(apidata)):
     setattr(Test,'test_'+str(i+1),demo(apidata[i]))
if __name__ == "__main__":
    fname = './case_2.xls'
    Apidata = []  #设置接口函数名
    SZ = xlrd.open_workbook(fname)
    sz = SZ.sheet_by_index(0)
    for i in range(1,sz.nrows):
        par = str(sz.cell_value(i,1)).split(',')
        Apidata.append([sz.cell_value(i,0),par])
    testall(Apidata)
    suit = unittest.makeSuite(Test)
    filename = u'/'.join(os.getcwd().split('/')[:-2]) + u'/Report/业务逻辑接口测试报告-test.html'
    fp = file(filename, 'wb')
    runner = HTMLTestRunner(fp, title=u'测试服新接口测试', description=u'用例执行报告', fname=filename.split('/')[-1])
    runner.run(suit)

其中有很多自己封装的函数,贴出来就是给大家看一个思路。我们的原则是尽量不经常因为用例 的增删改查 需要去修改代码。

也就是写用例用表,看报告用html或其他文件。

如图,是测试报告微信图片_20220609152049.jpg

相关文章
|
5天前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
5天前
|
存储 测试技术 数据库
接口测试工具攻略:轻松掌握测试技巧
在互联网快速发展的今天,软件系统的复杂性不断增加,接口测试工具成为确保系统稳定性的关键。它如同“翻译官”,模拟请求、解析响应、验证结果、测试性能并支持自动化测试,确保不同系统间信息传递的准确性和完整性。通过Apifox等工具,设计和执行测试用例更加便捷高效。接口测试是保障系统稳定运行的第一道防线。
|
5天前
|
Web App开发 JSON 测试技术
API测试工具集合:让接口测试更简单高效
在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。
|
2月前
|
存储 监控 测试技术
测试脚本编写和维护的最佳实践有哪些?
测试脚本编写和维护的最佳实践有哪些?
127 50
|
1月前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
103 11
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
147 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
SQL 测试技术 API
如何编写API接口的自动化测试脚本
本文详细介绍了编写API自动化测试脚本的方法和最佳实践,涵盖确定测试需求、选择测试框架、编写测试脚本(如使用Postman和Python Requests库)、参数化和数据驱动测试、断言和验证、集成CI/CD、生成测试报告及维护更新等内容,旨在帮助开发者构建高效可靠的API测试体系。
|
2月前
|
存储 监控 前端开发
如何确保测试脚本的稳定性和可靠性?
确保测试脚本的稳定性和可靠性是保证性能测试结果准确有效的关键
|
2月前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
|
2月前
|
测试技术 数据库连接 数据库
测试脚本的编写和维护对性能测试结果有何影响?
测试脚本的编写和维护对性能测试结果有着至关重要的影响,
42 1

热门文章

最新文章