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中使用 Selenium 实现网页截图实例
Jul 18 Python
python爬虫常用的模块分析
Aug 29 Python
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
儿童python练习实例
May 27 Python
python批量赋值操作实例
Oct 22 Python
Python Selenium 之关闭窗口close与quit的方法
Feb 13 Python
python实现KNN分类算法
Oct 16 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
Python任务自动化工具tox使用教程
Mar 17 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
May 15 Python
python线程里哪种模块比较适合
Aug 02 Python
Python基本知识点总结
Apr 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
PHP XML操作类DOMDocument
2009/12/16 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
看了就知道什么是JSON
2007/12/09 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
JavaScript中三种常见的排序方法
2017/02/24 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
Javascript中window.name属性详解
2020/11/19 Javascript
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
python plotly画柱状图代码实例
2019/12/13 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
详解Python 最短匹配模式
2020/07/29 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
意大利大型购物中心:Oliviero.it
2017/10/19 全球购物
斯福泰克软件测试面试题
2015/02/16 面试题
测绘工程专业个人自我评价
2013/12/01 职场文书
职业技术学校毕业生推荐信
2013/12/03 职场文书
大专生的学习自我评价
2013/12/04 职场文书
学校元旦晚会方案
2014/02/19 职场文书
医学检验专业自荐信
2014/09/18 职场文书
鲁冰花观后感
2015/06/10 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
Python使用random模块实现掷骰子游戏的示例代码
2021/04/29 Python
Redis基本数据类型Set常用操作命令
2022/06/01 Redis
MySQL自定义函数及触发器
2022/08/05 MySQL