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实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
May 08 Python
Selenium鼠标与键盘事件常用操作方法示例
Aug 13 Python
python实践项目之监控当前联网状态详情
May 23 Python
PyQt5 QListWidget选择多项并返回的实例
Jun 17 Python
Python Django Cookie 简单用法解析
Aug 13 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
Nov 05 Python
Python实现元素等待代码实例
Nov 11 Python
使用python创建生成动态链接库dll的方法
May 09 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
Jun 02 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 Python
pycharm中选中一个单词替换所有重复单词的实现方法
Nov 17 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
PHP新手上路(十二)
2006/10/09 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
Using the TextRange Object
2006/10/14 Javascript
javascript事件模型代码
2007/07/01 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
2016/05/30 Javascript
JS中的==运算: [''] == false —>true
2016/07/24 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
wxpython中自定义事件的实现与使用方法分析
2016/07/21 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
Python Requests库基本用法示例
2018/08/20 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
python批量处理文件或文件夹
2020/07/28 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
AJAX的全称是什么
2012/11/06 面试题
怎样拟定创业计划书
2014/05/01 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书