zoukankan      html  css  js  c++  java
  • python3+request接口自动化框架中自动发送邮件

    在上一篇中的自动化框架中没有放上自动发送测试结果到邮箱的功能,在这篇文章中在补一下,哈哈 

    1、上一篇的代码就不在一一介绍了,本篇只介绍发送邮件的功能代码

    2、在public common 文件夹中创建一个sendmail.py文件, 用来存储发送邮件的代码

    from email.mime.text import MIMEText
    from email.header import Header
    import smtplib
    import time
    import os
    def send_mail(file_new):
    f = open(file_new, 'rb')
    mail_body = f.read()
    f.close()
    username = '***' #发件箱用户名 (自己添加邮箱账号)
    password = '***' #发件箱密码
    sender = '***' #发件人邮箱 (自己添加)
    receiver=['***']
    #receiver = ['***'] #收件人邮箱
    # 邮件正文是MIMEText
    msg = MIMEText(mail_body, 'html', 'utf-8')
    # 邮件对象
    msg['Subject'] = Header("自动化测试报告", 'utf-8').encode()
    msg['From'] = Header(u'测试负责人 <%s>'%sender)
    msg['To'] = Header(u'技术负责人 <%s>'%sender)
    msg['date'] = time.strftime("%a,%d %b %Y %H:%M:%S %z")
    #发送邮件
    smtp = smtplib.SMTP()
    smtp.connect('smtp.exmail.qq.com') # 邮箱服务器 (我这里用的时QQ的邮箱,其他邮箱需要在网上查一下!)
    smtp.login(username, password) # 登录邮箱
    smtp.sendmail(sender, receiver, msg.as_string()) # 发送者和接收者
    smtp.quit()
    print("邮件已发出!注意查收。")
    #此处为将HTML文件夹中的所有文件返回并取最新的一个HTML文件
    def new_file(test_dir):
    #列举test_dir目录下的所有文件,结果以列表形式返回。
    lists=os.listdir(test_dir)
    #print(lists)
    file_path=os.path.join(test_dir,lists[-1])
    return file_path
    以上为发送邮件的代码,会自动查找并发送最新的HTML文件到邮箱中。
    3、在代码入口出的调用方法,sendmail文件导入后在运行中传入文件夹的地址

    runner.run(suite)
    new_report_mail = new_file(r'D:\event\result')
    log.info(new_report_mail)
    send_mail(new_report_mail)
    fp.close()

    4、我是将文件夹的路径写成了绝对路径,此处可以自己修改下。

    5、以上为自动发送邮件的代码与运行入口处代码调用
  • 相关阅读:
    Linux中常用操作命令
    JQuery Each循环遍历每个元素
    get set
    Launch Screen在iOS7/8中的实现
    程序猿必备的Git教程
    浏览器的工作原理:新式网络浏览器幕后揭秘
    浏览器的工作原理:新式网络浏览器幕后揭秘
    游览器中javascript的执行过程
    游览器中javascript的执行过程
    浅析 Cordova for iOS
  • 原文地址:https://www.cnblogs.com/Jaredhan/p/10984831.html
Copyright © 2011-2022 走看看