• APPIUM+Python+HTMLTestRunner(转)


    对于自动化来说,测试报告是必须的,在敏捷化的团队中,团队中的成员需要自动化这边提供自动化的测试报告,来判断系统的整体质量以及下一步的测试策略。单元测试库生成测试输出到控制台的窗口上,但是这样的结果看起来比较费力,很显然,控制台日志的输出的信息并不是个好的注意,那么好的注意应该是生成html页面的测试报告,这样的报告看起来更加清晰,庆幸的是unittest的单元测试库扩展的HTMLTestRunner.py,可以生成html的自动化报告。

    一、HTMLTestRunner.py

    首先,下载HTMLTestRuner.py文件。 
    源地址:http://tungwaiyip.info/software/HTMLTestRunner.html 
    这是针对Python2.7版本,那么对于Python3.x的使用,需要改动几处。http://www.bubuko.com/infodetail-529431.html。 
    具体改动如下: 
    第94行,将import StringIO修改成import io 
    第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO() 
    第631行,将print >> sys.stderr, ‘ Time Elapsed: %s‘ %(self.stopTime-self.startTime)修改成print(sys.stderr, ‘ TimeElapsed: %s‘ % (self.stopTime-self.startTime)) 
    第642行,将if not rmap.has_key(cls):修改成if notcls in rmap: 
    第766行,将uo = o.decode(‘latin-1‘)修改成uo = e 
    第775行,将ue = e.decode(‘latin-1‘)修改成ue = e 
    第778行,将output = saxutils.escape(uo+ue),修改成output = saxutils.escape(str(uo)+str(ue)),

    将上述几处改动,保存成功后,再将HTMLTestRunner.py放到C:Python34Lib目录中, 运行cmd,输入python,导入import HTMLTestRunner,无任何的错误提示信息,就表示成功,见截图:

    HTMLTestRunner.py实现html的测试报告,具体见如下的测试实例代码:

    #coding:utf-8

    fromselenium import webdriver

    fromtime import sleep,time,ctime

    import unittest

    fromPage import *

    import threading

    import HTMLTestRunner

    class DemoPage(unittest.TestCase,BasePage.Page):

    def setUp(self):

    self.driver=webdriver.Firefox()

    self.driver.implicitly_wait(30)

    self.driver.maximize_window()

    self.driver.get('http://www.baidu.com')

    def testTitle(self,value='testData'):

    self.assertTrue(self.driver.title in self.getXmlData(value) )

    def testUrl(self):

    print self.driver.current_url

    def tearDown(self):

    self.driver.close()

    self.driver.quit()

    if__name__=='__main__':

    suite=unittest.makeSuite(DemoPage)

    #定义自动化报告目录

    filename='D:\git\PyCharm\SeleniumHq\Test-report\Report.html'

    fp=file(filename,'wb')

    runner=HTMLTestRunner.HTMLTestRunner(

    stream=fp,

    title=u'自动化测试报告',

    description=u'自动化测试报告'

    )

    runner.run(suite)

    执行成功后,自动化的测试报告在D:\git\PyCharm\SeleniumHq\Test-report目录下的Report.html,打开Report.html的文件,就可以看到如下的自动化测试报告的截图了:

  • 相关阅读:
    2020.8月总结
    fps逆向总结
    fps人物基址的寻找
    python学习_012
    python学习_011
    python学习_010
    python学习_009
    python学习_008
    pytorch DataLoader模块的使用
    python 继承类的初始化用法
  • 原文地址:https://www.cnblogs.com/7chentest/p/6397426.html
Copyright © 2020-2023  润新知