将生成的测试报告发送邮件

首先从电脑上读取excel表格,使用HTMLTestRunner模块生成测试报告

# !/usr/bin/env python
# coding:utf-8
import xlrd
import unittest
import requests
import HTMLTestRunner
import time

class Test(unittest.TestCase):

    def duqu(self, filename='C:\\Users\\dell\\Desktop\\test.xls'):  # 读取 Excel文件
        data = xlrd.open_workbook(filename)  # 打开文件把参数传给 data
        table = data.sheets()[0]  # 通过索引顺序获取Excel 文件
        parameter = table.row_values(1)  # 获取整行数据 获取Excel 第二行数据
        #jsoninfo = eval(parameter[3])
        jsoninfo = parameter[3] # 因为 parameter 变量类型是str 需要用eval函数转换成dict
        url = 'http://www.senbaba.com' + parameter[2]  # 基础地址 加上测试接口测路径
        return url, parameter[1], jsoninfo

    def test_text(self):
        auth = self.duqu()  # 调用 duqu 函数
        r = requests.request("%s" % auth[1], auth[0], params=auth[2])  # requests库作为接口核心,传入url,post请求,json参数
        #requests.request(method, url, **kwargs)
        self.assertIn(r.text,'"code":"OK"')
        #self.assertEqual(r.status_code, 200)  # 断言code 是否等于200

    def test_code(self):
        auth = self.duqu()  # 调用 duqu 函数
        r = requests.request("%s" % auth[1], auth[0], params=auth[2])  # requests库作为接口核心,传入url,post请求,json参数
        # requests.request(method, url, **kwargs)
        #self.assertIn('"code":"OK"', r.text)
        self.assertEqual(r.status_code, 404)  # 断言code 是否等于200
        return r.status_code

'''
def suite():
    suiteTest = unittest.TestSuite()
    suiteTest.addTest(Test("test_text"))
    suiteTest.addTest(Test("test_code"))
    return suiteTest
'''
if __name__=="__main__":
# unittest.main()如果不生成测试包报告的话,就可以加这句

    testunit=unittest.TestSuite()
    testunit.addTest(Test("test_text"))#将测试用例加入到测试容器中
    testunit.addTest(Test("test_code"))
    now = time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))#获取当前时间,这样便于下面的使用。
    filename="result"+now+".html"
    fp = open('D://'+filename, 'wb')
    #filepath='D:\\"result"+now+".html"'
    runner=HTMLTestRunner.HTMLTestRunner(stream=fp, title='test result', description=u'result:')
    runner.run(testunit)
    fp.close()

接下来要将该测试报告发送到邮箱

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值