python基于unittest和selenium模块,使用HTMLTestRunner模块生成html测试报告

Python 生成测试报告

  HTMLTestRunner 模块时python三方的生成测试报告的模块,他可以将python unittest模块测试的结果编写成一个html报告。Htmltestrunner 只支持python2 ,python3如果进行使用,需要手动修改源码。

下载HTMLTestrunner,
https://pypi.org/project/HTMLTestRunner/
在这里插入图片描述
在这里插入图片描述
由于此模块基于测试人员开发,可能没有那么周到,(可能有点搞笑)不能够直接下载安装包或源码文件,我们需要基于网页复制其源码,并在python目录第三方安装包目录创建一个HTMLTestRunner.py的文件,将其代码复制其中,并修改
在这里插入图片描述
在这里插入图片描述

按照python3 修改源码

1、94行将import stringIO 改为 import io
在这里插入图片描述

2、539行 将stringio改为io
在这里插入图片描述

3、642行 将has_key 改为not in
在这里插入图片描述

4、766行 将decode改为encode,如果后期报错,建议改为utf-8
在这里插入图片描述

5、772行 将decode改为encode,如果后期报错,建议改为utf-8
在这里插入图片描述

6、631行 修改print格式
在这里插入图片描述

7、784 都添加str
在这里插入图片描述

上测试代码,进行测试报告生成:

import unittest
from time import sleep
from selenium import webdriver
from HTMLTestRunner import HTMLTestRunner

class Tongcheng58(unittest.TestCase):
    def setUp(self):
        self.chrome = webdriver.Chrome()
        self.chrome.get("https://passport.58.com/login/")

    def login(self,username,password):
        user_pass = self.chrome.find_element_by_class_name("qrcode")
        user_pass.click()
        username_u1 = self.chrome.find_element_by_id("username")
        password_u1 = self.chrome.find_element_by_id("password")
        button = self.chrome.find_element_by_id("btn_account")
        username_u1.send_keys(username)
        password_u1.send_keys(password)
        button.click()

        text = self.chrome.find_element_by_class_name("password_msgtext").text

        return text

    def test_login_one(self):
        text = self.login("13371054432","123")
        self.assertEqual("密码太短,最少6位",text,"密码太短,提示内容有误")

    def test_login_two(self):
        text = self.login("13371054432","123456")
        self.assertEqual("该用户不存在",text,"账户有误,提示内容有误")
    def tearDown(self):
        sleep(10)
        self.chrome.close()


if __name__ == '__main__':
    # unittest.main()
    # 使用HTMLTestRunner进行测试
    suite = unittest.TestSuite()#多个测试用例使用测试套件
    suite.addTest(Tongcheng58("test_login_one"))#添加用例1
    suite.addTest(Tongcheng58("test_login_two"))#添加用例2
    with open("report.html","wb") as f:
        runner = HTMLTestRunner(
            stream=f,#文件
            title="58登录测试",#标题
            description="简单的账户登录自动化测试"#描述
        )
        runner.run(suite)#启动测试套件


切记这里不能以unittest的方式运行改脚本,必须以普通文件run
实在不行,在cmd或python终端运行该脚本

测试结果展示:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值