美文网首页
【基础】练习册47-Python3_selenium_完整版

【基础】练习册47-Python3_selenium_完整版

作者: Alyna_C | 来源:发表于2021-02-13 10:34 被阅读0次

    代码如下:

    #coding=utf-8

    import unittest

    import time,HTMLTestRunner

    import smtplib

    from email.mime.text import MIMEText

    import os

    #==================定义发送邮件=================

    def send_mail(file_new):

        sender = 'alyna_cai@163.com' #发送邮箱

        receiver = '1755897460@qq.com' #接收邮箱

        f = open(file_new,'rb')

        content = f.read()

        f.close()

        msg = MIMEText(content,'html','utf-8')

        msg['Subject'] = '自动化测试报告'

        msg['From'] = sender

        msg['To'] = receiver

        #msg['Date'] = time.strftime('%a, %d %b %Y %H:%M:%S %z') #定义发送时间

        try:

            stmp = smtplib.SMTP()

            stmp.connect('smtp.163.com') #连接smtp服务器

            stmp.login(sender,'XCMQESJMOKLWRYBF') #使用授权码登录

            stmp.sendmail(sender,receiver,msg.as_string()) #发送邮件

            print("邮件发送成功")

            stmp.quit()

        except smtplib.SMTPException:

            print("Error:无法发送邮件")

    #=====查找测试报告目录,找到最新生成的测试报告文件======

    def send_report(testreport):

        result_dir = testreport #定义文件目录

        lists = os.listdir(testreport)

        #重新按时间对目录下的文件进行排序

        lists.sort(key=lambda fn:os.path.getmtime(result_dir+'\\'+fn))

        print(u'最新测试生成的报告:'+lists[-1])

        file_new = os.path.join(result_dir,lists[-1]) #找到最新生成的文件

        print(file_new)

        send_mail(file_new) #调用发送模块

    #===============将用例添加到测试套件=================

    def creatsuite():

        testunit = unittest.TestSuite()

        #定义测试文件查找的目录

        test_dir = ".\\test_case"

        #定义discover方法的参数

        discover = unittest.defaultTestLoader.discover(test_dir,pattern='test*.py',top_level_dir=None)

        #将用例循环添加到测试套件

        for test_case in discover:

            testunit.addTest(test_case)

            print(testunit)

        return testunit

    if __name__ == "__main__":

        now = time.strftime("%Y-%m-%d %H_%M_%S")

        testreport = 'D:\\python\\_project\\test_163email\\test_case\\report\\'

        filename = testreport +now+'result.html'

        fp = open(filename, 'wb')

        runner = HTMLTestRunner.HTMLTestRunner(

            stream=fp,

            title=u'自动测试用例',

            description=u'用例执行情况:'

        )

        alltestnames = creatsuite()

        runner.run(alltestnames)

        fp.close()

        send_report(testreport)

    相关文章

      网友评论

          本文标题:【基础】练习册47-Python3_selenium_完整版

          本文链接:https://www.haomeiwen.com/subject/fpastltx.html