Ranorex通过Python将报告发送到邮箱的方法


Posted in Python onJanuary 12, 2020

Ranorex测试报告如何发送到邮箱在网上看了下,其实可以通过在Ranorex上或者VS调用编写发送邮箱代码就可以执行发送了,RX主要涉及到的开发语言是C++或者.NET。但是我想用Python调用并发送,涉及到的应用以及范围会比较麻烦。因此,希望有广大猿友能够给点意见指点一二。

首先将Ranorex测试解决方案在Pycharm打开。

Ranorex通过Python将报告发送到邮箱的方法

然后新建一个文件夹用来放Python发送邮件的CODE。

'''发送给********@163.com'''
from email.mime.application import MIMEApplication
import smtplib
import os
 
 
def send_email(new_log):
  '''
  发送邮箱
  :param new_log: 最新的报告
  :return:
  '''
 
  file = open(new_log, 'rb')
  mail_content = file.read()
  file.close()
 
  # 发送方用户信息
  send_user = '********@qq.com'
  send_password = '********'
 
  # 发送和接收
  sendUser = '********@qq.com'
  receive = '********@163.com'
 
  # 邮件内容
  send_subject = 'Ranorex自动化测试报告'
  msg = MIMEApplication(mail_content, 'rb')
  msg['Subject'] = send_subject
  msg.add_header('Content-Disposition', 'attachment', filename=new_log)
 
  try:
 
    # 登录服务器
    smt = smtplib.SMTP('smtp.qq.com')
 
    # helo 向服务器标识用户身份
    smt.helo('smtp.qq.com')
    # 服务器返回确认结果
    smt.ehlo('smtp.qq.com')
 
    smt.login(send_user, send_password)
    print('正在准备发送邮件。')
    smt.sendmail(sendUser, receive, msg.as_string())
    smt.quit()
    print('邮件发送成功。')
 
  except Exception as e:
    print('邮件发送失败:', e)
 
 
def new_report(report_dir):
  '''
  获取最新报告
  :param report_dir: 报告文件路径
  :return: file ---最新报告文件路径
  '''
 
  # 返回指定路径下的文件和文件夹列表。
  lists = os.listdir(report_dir)
  listLog = []
  # print(lists)
  for i in lists:
    if os.path.splitext(i)[1] == '.rxlog':
      # print(len(i))
      # print(i)
      listLog.append(i)
  # print(listLog)
  # print(listLog[-1])
  fileNewLog = os.path.join(report_dir, listLog[-2])
  return fileNewLog
 
 
if __name__ == '__main__':
  # 报告路径
  test_report = r'D:\学习笔记\Ranorex\Text\1105\text02\text02\Reports'
  # 获取最新测试报告
  newLog = new_report(test_report)
  # 发送邮件报告
  send_email(newLog)

运行后,邮件发送成功。

在Windows上,Ranorex报告打开后结果显示错误。

Ranorex通过Python将报告发送到邮箱的方法

Ranorex通过Python将报告发送到邮箱的方法

自己尝试在Ranorex解决方案中将一份报告复制粘贴到桌面上,打开也是以上图的错误,原因可能需要在Ranorex解决方案中的环境条件,所以即使发送了也没什么用处,只能提醒Ranorex解决方案已经运行结束。

最后还是在Ranorex上编写脚本发送邮箱最方便。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
python比较两个列表大小的方法
Jul 11 Python
python 调用HBase的简单实例
Dec 18 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
Python面向对象程序设计示例小结
Jan 30 Python
Python3基础教程之递归函数简单示例
Jun 07 Python
pandas 中对特征进行硬编码和onehot编码的实现
Dec 20 Python
Python中常用的高阶函数实例详解
Feb 21 Python
python和php哪个容易学
Jun 19 Python
如何使用flask将模型部署为服务
May 13 Python
python opencv实现信用卡的数字识别
Jan 12 #Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 #Python
Python3.x+迅雷x 自动下载高分电影的实现方法
Jan 12 #Python
tensorflow的计算图总结
Jan 12 #Python
python利用JMeter测试Tornado的多线程
Jan 12 #Python
Django 批量插入数据的实现方法
Jan 12 #Python
python处理RSTP视频流过程解析
Jan 11 #Python
You might like
杏林同学录(六)
2006/10/09 PHP
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
PHP全局变量与超级全局变量区别分析
2016/04/01 PHP
php时间计算相关问题小结
2016/05/09 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
javascript的BOM
2016/05/03 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
2018/08/14 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
Vue如何使用混合Mixins和插件开发详解
2020/02/05 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
python框架django基础指南
2016/09/08 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
服务行业口号
2014/06/11 职场文书
基层党员对照检查材料
2014/08/25 职场文书
教师学期个人总结
2015/02/11 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python