zl程序教程

您现在的位置是:首页 >  其他

当前栏目

unittest框架模版 (含智能执行类下面所有用例并出报告)

执行框架智能 所有 报告 用例 下面 模版
2023-09-27 14:25:20 时间

基础框架一:

import unittest

class denglu(unittest.TestCase):
  def setUp(self): #每次执行测试用例前操作步骤
    self.verificationErrors = []

  def test_Refresh_the_resume(self): #这个是测试用例
    pass

  def tearDown(self):  #每次执行测试用例后操作步骤
    self.assertEqual([], self.verificationErrors)

if __name__ =="__main__":
  方法一: #测试套件  (不出报告的执行测试用例)
  testunit=unittest.TestSuite()
  #添加测试用例到测试套件中 
  testunit.addTest(denglu("test_Refresh_the_resume"))

  runner = unittest.TextTestRunner()
  runner.run(testunit)

 

  方法二:全部测试用例执行,直接写下面这个

  unittest.main()  

 

  方法三:出测试报告的直接写下面这个

  #测试套件

  testunit=unittest.TestSuite()
  #添加测试用例到测试套件中
  testunit.addTest(AAAA("test_XX002"))
  #定义个报告存放路径
  filename = 'E:/result3.html'
  fp = file(filename, "wb")
  #定义测试报告
  runner =HTMLTestRunner.HTMLTestRunner(
    stream=fp,
    title=u'网站测试报告',
    description=u'用例执行情况:')
  # 运行测试用例
  runner.run(testunit)
  #关闭报告文件
  fp.close()

  方法三修改成图片那样,也可以打印出 出运行用例 成功/失败/总用例数

   

 

 

  方法四: 在控制台打印出运行用例 成功/失败/总用例数并出报告 的方法   ( 用这个方法可以智能的执行类下面的所有测试用例并出报告)

  suite = unittest.TestLoader().loadTestsFromTestCase(类名) #定义一个单元测试容器 ( 用这个方法可以能执行类下面的所有测试用例)
  filename = '/Users/kaibinliu/Desktop/LUCAX/report/1.HTML' #定义个报告存放路径,支持相对路径
  f = file(filename,'wb') #结果写入HTML 文件

  #使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述
  runner = HTMLTestRunner.HTMLTestRunner(stream = f,title ='Report_title',description='Report_description') 
  result = runner.run(suite)

  print result.success_count #运行成功的数目
  print result.testsRun #运行测试用例的总数
  print result.failure_count #运行失败的数目

方法四参考:https://www.cnblogs.com/tomweng/p/6609937.html

 

另外一种不不出报告的方式 https://www.cnblogs.com/kaibindirver/p/8277332.html

 

python3要这样写

if __name__ == '__main__':    
    with open('/Users/chenmeiru/Desktop/接口自动测试/report/'+str(time.time())+'HwTestReport.html', 'wb') as report:
        runner = HTMLTestReport(stream=report,
                                verbosity=2,
                                title='系统接口自动化测试报告',
                                # description='带饼图,带详情',
                                tester='陈)
        runner.run(suiteTest)