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 相关文章推荐
Python通过websocket与js客户端通信示例分析
Jun 25 Python
Python3搜索及替换文件中文本的方法
May 22 Python
Python线程创建和终止实例代码
Jan 20 Python
详解Python中的type和object
Aug 15 Python
python opencv 二值化 计算白色像素点的实例
Jul 03 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
Jul 22 Python
解决django服务器重启端口被占用的问题
Jul 26 Python
python生成器用法实例详解
Nov 22 Python
Python While循环语句实例演示及原理解析
Jan 03 Python
基于Python fminunc 的替代方法
Feb 29 Python
python ETL工具 pyetl
Jun 07 Python
Django中使用Celery的方法步骤
Dec 07 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
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
Python操作json数据的一个简单例子
2014/04/17 Python
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Python3写入文件常用方法实例分析
2015/05/22 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
django之session与分页(实例讲解)
2017/11/13 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
python 实现线程之间的通信示例
2020/02/14 Python
Python多线程thread及模块使用实例
2020/04/28 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
python -v 报错问题的解决方法
2020/09/15 Python
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
工商管理应届生求职信
2013/10/07 职场文书
九年级历史教学反思
2014/01/27 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
如何写好开幕词?
2019/06/24 职场文书
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技
Hive HQL支持2种查询语句风格
2022/06/25 数据库
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL