python3.x生成测试报告

题外话:
好记性不如烂笔头,把每次在调试代码过程中遇到的问题记录下来,形成一个知识库。没有随随便便的成功。用输出逼自己输入。

基于Python3.x 源码

import unittest
from selenium import webdriver
import  HTMLTestRunner


def div(a,b):
    return a/b

class  TestDiv(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.driver=webdriver.Firefox()
        cls.driver.get('https://www.baidu.com')

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()

    def test_001(self):
        self.assertEqual(self.driver.title,u'百度一下,你就知道')

    def test_002(self):
        self.assertTrue(self.driver.find_element_by_id('kw').is_enabled())

    def test_003(self):
        self.assertEqual(self.driver.current_url,'https://www.baidu.com/')



if __name__=='__main__':
    suite=unittest.TestLoader().loadTestsFromTestCase(TestDiv)
    outfile = open("SmokeTestReport.html", "wb")
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=outfile,
        title=u'TestReport',
        description=u'测试报告详细信息')
    runner.run(suite)

执行成功后,会在当前目录(代码的位置在哪,报告的位置就在哪)下生成测试报告:


python3.x生成测试报告_第1张图片
测试报告

参考文章来源:
http://www.cnblogs.com/weke/articles/6271206.html
此文章是基于python2.X的.

遇到的问题:

  • 1.参考文章中的代码,报错


    python3.x生成测试报告_第2张图片
    报错

修改如下:

 outfile = open("SmokeTestReport.html", "wb")
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=outfile,
        title=u'TestReport',
        description=u'测试报告详细信息')
  • 2.HTMLTestRunner 修改为python3.X版本
    修改配置文件:HTMLTestRunner.py
    前往631查看,发现整个程序中,唯一一个print:
    print >> sys.stderr, ‘\nTimeElapsed: %s‘ % (self.stopTime-self.startTime
    这个是2.x的写法,咱们修改成3.x的print,修改如下:
    print(sys.stderr, ‘\nTime Elapsed: %s‘ %(self.stopTime-self.startTime))


    python3.x生成测试报告_第3张图片
    图片.png

你可能感兴趣的:(python3.x生成测试报告)