使用Python脚本自动发送Ranorex测试报告至邮箱

沈知远
沈知远
发布时间:2026-10-13| 2人浏览过
原创

本文介绍如何利用Python脚本自动将Ranorex生成的测试报告发送至指定邮箱。通过配置SMTP服务器及附件处理,实现测试结束后的自动通知。文中提及在Windows环境下直接打开报告可能遇到的兼容性问题,并建议直接在Ranorex环境中编写脚本以确保报告有效性。

Python发送Ranorex报告概述

关于如何将Ranorex测试报告发送至邮箱,网络上常见的解决方案是在Ranorex界面内或通过Visual Studio调用代码来执行发送操作。由于Ranorex主要基于C++或.NET开发,若希望使用Python进行调用和发送,涉及的集成应用及范围相对复杂。因此,本文旨在探讨相关实现思路,供广大开发者参考交流。

Python脚本实现步骤

首先,需要在PyCharm中打开Ranorex测试解决方案。

接着,新建一个文件夹用于存放Python发送邮件的代码文件。


'''发送给********@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解决方案中将报告复制并粘贴到桌面,再次打开仍会出现上述错误。这可能与Ranorex解决方案中的环境依赖条件有关。因此,即使成功发送报告,其实际使用价值可能有限,主要作用仅在于提醒用户Ranorex解决方案的运行已结束。

综上所述,直接在Ranorex环境中编写脚本来发送邮箱通知是最为便捷的方式。

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

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。