selenium基础(生成测试报告)

测试报告

生成HTML测试报告

  • 下载HTMLTestRunner.py包
  • 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
  • 下载后,把HTMLTestRunner.py 文件复制到Python 安装路径下的lib文件夹中即可。

  • 引入包的方式:from HTMLTestRunner import HTMLTestRunner
  • 在python3中用HTMLTestRunner.py报importError“:No module named 'StringIO'解决办法

    原因是官网的是python2语法写的,看官手动把官网的HTMLTestRunner.py改成python3的语法。

    修改内容:
    第94行,将import StringIO修改成import io
    
    第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
    
    第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
    第631行,将print >> sys.stderr, '
    Time Elapsed: %s' % (self.stopTime-self.startTime)修改成print(sys.stderr, '
    Time Elapsed: %s' % (self.stopTime-self.startTime))
    第766行,将uo = o.decode('latin-1')修改成uo = e
    
    第772行,将ue = e.decode('latin-1')修改成ue = e

  • 以百度关键字搜索为例
from selenium import webdriver#导入浏览器的驱动包
import time#导入时间包
import unittest#导入单元测试包
from HTMLTestRunner import HTMLTestRunner#导入生成HTML报告的包

class Baidu(unittest.TestCase):
    def test_baidu_search(self):
        driver=webdriver.Firefox()
        driver.maximize_window()
        driver.get('http://www.baidu.com')
        driver.find_element_by_id('kw').send_keys('selenium')
        driver.find_element_by_id('su').click()
        time.sleep(3)
        driver.quit()

testunit=unittest.TestSuite()#生成单元测试流程
testunit.addTest(Baidu("test_baidu_search"))#加载测试用例
fp=open('D:\test\unittest.html','wb')#创建测试报告,以写的方式存入某个路径
runner=HTMLTestRunner(
    stream=fp,
    title="百度搜索测试",
    description="用例执行情况:"
    )
runner.run(testunit)
fp.close()

原文地址:https://www.cnblogs.com/jingdenghuakai/p/11706276.html