闭包思维自动生成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天前
|
安全 数据可视化 前端开发
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习
17 0
|
5天前
|
JSON 监控 测试技术
Groovy脚本编写员工上网行为监控自动化测试
本文介绍了如何使用Groovy脚本创建一个自动化工具来监控员工的网络活动。通过编写简单脚本记录员工访问的网站并打印信息,可进一步扩展为将数据保存至数据库。此外,通过设定定时任务,实现了每30分钟自动监控一次的功能。最后,展示了如何将监控数据转换为JSON格式并使用HTTP POST请求提交到网站,以实现数据的自动化上报,有助于企业保障网络安全、保护数据并提升工作效率。
62 5
|
5天前
|
人工智能 测试技术 数据处理
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(1)等价类划分法、边界值法、判定表法
【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(1)等价类划分法、边界值法、判定表法
8 0
|
5天前
|
测试技术 iOS开发
pytest Mark标记测试用例
使用`pytest.mark`进行测试用例分组和筛选,如`@pytest.mark.webtest`。通过`pytest -m`参数执行特定标记的用例,例如`pytest -s test_command_param.py -m webtest`。同时,pytest支持内置的skip、skipif和xfail功能来管理特殊用例:skip始终跳过,skipif条件满足时跳过,xfail则标记预期失败的测试。
6 0
|
5天前
|
测试技术 API 开发者
使用 Playwright 脚本录制简化自动化测试:完全指南
Playwright提供了一种脚本录制功能,帮助开发者通过交互式操作自动生成测试脚本,提升测试效率。使用Playwright的命令行工具`codegen`,如`playwright codegen python <url>`,可以记录浏览器操作并生成Python测试脚本。生成的脚本使用Playwright API模拟用户交互,如`page.click()`和`page.fill()`。这种方法简化了自动化测试脚本的编写,促进了测试流程的加速。
11 1
|
5天前
|
IDE 测试技术 开发工具
从零开始:使用 Playwright 脚本录制实现自动化测试
Playwright提供了一种便捷的脚本录制功能,类似于Selenium IDE。通过运行`playwright codegen`命令,你可以启动一个浏览器并记录你的操作,生成Python或异步代码。在示例中,展示了如何录制登录百度的过程,生成的代码可以直接用于自动化测试。Playwright Inspector允许你编辑和转换测试代码,支持生成Pytest格式的测试用例,方便Python开发者使用。这个功能使Playwright成为强大的Web自动化测试工具。
12 3
|
5天前
|
Java 测试技术 数据库连接
【如何学习Python自动化测试】—— Python 的 unittest 框架
【如何学习Python自动化测试】—— Python 的 unittest 框架
8 0
|
5天前
|
测试技术 Python
python编写集成测试用例
【4月更文挑战第21天】
21 1
|
5天前
|
测试技术 数据库 UED
【白盒测试】单元测试的理论基础及用例设计技术(6种)详解
【白盒测试】单元测试的理论基础及用例设计技术(6种)详解
12 1
|
5天前
|
测试技术 Python
Python测试架构unittest
【4月更文挑战第19天】
7 3

热门文章

最新文章