zoukankan      html  css  js  c++  java
  • python参数化和工具参数化的操作

    我们知道想要日常测试参数化的操作有两种方法第一种使用工具就是postman和jmeter进行文件参数化 

    https://www.cnblogs.com/weilemeizi/p/11446514.html

    https://www.cnblogs.com/weilemeizi/p/9002852.html

    另外一种代码就是使用python代码实现参数化 

    import unittest
    import my_function
    import HTMLTestRunner
    import parameterized 需要安装这个模块
    def add(a,b):
    return a+b
    class TestAdd(unittest.TestCase):
    def test_add_normal(self):
    '''正常测试加法的,by huoziyang'''
    result=my_function.add(1,2)
    self.assertEqual(3,result)
    def test_add_error(self):
    '''测试失败使用'''
    result=my_function.add(1,2)
    self.assertEqual(4,result)
    def test_add_error2(self):
    '''测试失败有msg的'''
    result=my_function.add(1,2)
    self.assertEqual(4,result,'正常整数加法没有通过')
    @parameterized.parameterized.expand(#必须这么传值
    [
    [1, 2, 3],
    [-1, 2, 1],
    [-1, 2, 2],
    ]
    )
    def test_param_add(self, a, b, c): # 参数化的函数
    result =add(a,b)#这两句就是调用
    self.assertEqual(c,result,'预期是%s,实际结果是%s'%(c,result))
    if __name__ == '__main__':
    test_suite = unittest.makeSuite(TestAdd)
    with open('report.html','wb') as fw:
    runner = HTMLTestRunner.HTMLTestRunner(stream=fw,title='天马座测试报告',
    description='天马座接口测试报告',
    verbosity=2
    )
    runner.run(test_suite)#加了这条才会执行
    效果图

    另外一种测试报告模板

    import unittest
    import my_function
    import HTMLTestRunnerNew
    import HTMLTestRunner
    import parameterized
    def add(a,b):
    return a+b
    class TestAdd(unittest.TestCase):
    def test_add_normal(self):
    '''正常测试加法的,by huoziyang'''
    result=my_function.add(1,2)
    self.assertEqual(3,result)
    def test_add_error(self):
    '''测试失败使用'''
    result=my_function.add(1,2)
    self.assertEqual(4,result)
    def test_add_error2(self):
    '''测试失败有msg的'''
    result=my_function.add(1,2)
    self.assertEqual(4,result,'正常整数加法没有通过')
    @parameterized.parameterized.expand(#必须这么传值
    [
    [1, 2, 3],
    [-1, 2, 1],
    [-1, 2, 2],
    ]
    )
    def test_param_add(self, a, b, c): # 参数化的函数
    result =add(a,b)#这两句就是调用
    self.assertEqual(c,result,'预期是%s,实际结果是%s'%(c,result))
    if __name__ == '__main__':
    test_suite = unittest.makeSuite(TestAdd)
    with open('report.html','wb') as fw:
    runner = HTMLTestRunnerNew.HTMLTestRunner(stream=fw,title='通软测试报告',
    description='通软接口测试报告',
    verbosity=2
    )
    runner.run(test_suite)

  • 相关阅读:
    如何更改SQL Server2008默认数据库的存储路径
    虚拟内存页面文件pagefile.sys(棉文件)改变存放位置
    Redis热点数据高频访问问题以及解决方案
    gc日志收集和分析
    oauth2中client_id_to_access数据膨胀问题
    Redis慢查询日志
    24个Jvm面试题总结及答案
    springboot-使用assembly进行项目打包
    volatile关键字解读
    redis的zset结构跳表
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/14538401.html
Copyright © 2011-2022 走看看