自动化测试之邮件发送

本文介绍了如何在自动化测试完成后通过Python发送邮件通知,包括设置授权码、使用SMTP模块发送不同格式的邮件,以及利用钉钉邮箱进行提醒。重点讨论了发送纯文本、带附件及HTML格式邮件的方法,并提到了在钉钉中邮件提醒的便利性。
摘要由CSDN通过智能技术生成

邮件发送

每次自动化测试需要一定的时间,时间却又不固定,所以不知道什么时候完成了,什么时候还没跑完,那么就需要一个东西来提醒我们已经运行完了,快点去看测试结果,至于提醒的方式是怎么样的,可以根据自己的情况来看,发邮件呢还是发短信呢还是call电话呢,还是微信或者钉钉呢,都可以,不过普遍是邮件吧,邮件还可以带附件信息,所以更方便,承载的信息更多

在这里插入图片描述

其实可以再申请一个公司的AutoTest的邮箱号,但是难得麻烦了,所以用的另外一个qq号的邮箱来做为发送邮箱号,为了不显示出了我的qq号码,所以在qq邮箱中设置申请一个工作的邮箱名,这样就不是"号码@qq.com"这种格式了,变成了foxmail的邮箱号了

邮箱在第三方登录的时候,密码使用的都是授权码,所以我们开通各种服务,生成一个授权码
在这里插入图片描述

    测试完成后,会生成一个测试报告,这测试报告中包含了,失败成功用例名,总数,成功数,失败数,日志等详细信息,我需要把报告中的这些信息全部提取出来,然后自己组装成邮件发送的内容信息,测试报告是html的,所以信息的提取也可以使用之前说的xpath的方式来提取,我使用的是re来直接匹配信息,然后加上各种换行符和tab符,组成一串信息来发送
   def read_result(report):
        try:
            result = []
            with open('C:\Auto-Test\Report\\%s' % report,'r',encoding='utf-8') as f:
                data = f.read()
            top_info = re.findall(r'(?:"testAll":\s)(\d{1,4})|"testFail":\s(\d{1,4})|"testPass":\s(\d{1,4})|"beginTime":\s"(\d{4}-\d{2}-\d{2}\s*\d{2}:\d{2}:\d{2})"|"totalTime":\s"(\d{1,4})s"',data)
            name_info = re.findall(r'"description": "(.*)"',data)
            result_info = re.findall(r'"status": "(.*)"',data)
            info = list(zip(name_info,result_info))
            for i in top_info:
                for t in i:
                    if t!='':
                        result.append(t)
            email_info = '测试已完成,简要如下:\n\t用例总数:%s\n\t成功数:%s\n\t失败数:%s\n\t开始时间:%s\n\t总耗时:%s秒\n\t成功率:%f\n\t失败率:%f\n\n失败如下:'%(result[1],result[0],result[2],result[3],result[4],float(result[0])/float(result[1])*100,float(result[2])/float(result[1])*100)
            index = 1
            for i in info:
                if i[1]=='失败':
                    email_info = email_info + '\n\t(%d).%s\t\t'
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值