批量运行工具CukeTest Batch
随着自动化测试的普及和规模的扩大,测试人员常常需要一次性运行多个项目。然而,手动逐个执行既耗时又低效,而编写批量脚本虽然可以解决这个问题,却难以汇总结果。在这种情况下,CukeTest的批量运行工具应运而生。
批量运行工具允许用户通过配置项目列表,按照指定的顺序运行列表中的项目,并汇总生成多项目运行报告。
工具介绍
对于实际的测试流程,往往不会把所有自动测试放在同一个测试项目中,而是由多个测试项目共同组成。因此理所当然的,CukeTest提供了一个用于批量运行的工具,来一键运行多个指定的项目,并收集这些项目的运行结果,返回并呈现出来。
由于CukeTest主要用于执行桌面自动化项目,因此这些项目默认是顺序运行,而不是并行运行。
如何打开
从CukeTest主界面的“工具”->“批量运行工具”中打开。
清单文件
批量运行的项目列表可以保存为独立的清单文件(.cukerun
后缀名),这份文件不仅会保存列表中所有项目的路径信息,还会保存项目的运行参数信息(是否选中、运行配置、报告格式等)。
界面介绍
批量运行工具的界面由两部分组成:
- 项目配置:用于配置、管理待运行的项目列表,并提供批量运行、生成报告等功能。
- 输出面板:实时展示所有项目的运行日志和最终报告链接。
工具栏
工具栏提供了以下功能按钮:
- 新建: 创建一个新的项目清单文件(
.cukerun
后缀)。 - 打开: 打开已有的项目清单文件。
- 保存: 保存当前正在编辑的项目清单。
- 导入: 将另一个清单文件中的项目列表合并到当前列表中。
- 运行所有: 运行所有已勾选的项目。运行完成后,将自动生成并打开汇总报告。
- 运行配置: 修改批量运行的全局配置,包含报告格式、输出目录、视频录制以及邮件通知等设置。
- 重新生成报告: 根据上次运行生成的报告文件,重新创建并打开汇总报告。
- 打开报告目录: 打开汇总报告所在的文件夹。
项目列表
项目列表是批量运行的核心,用于添加和管理测试项目。
- 项目名: 当前项目的名称。点击名称可在文件管理器中打开项目文件夹。将鼠标悬停在项目名上可查看完整路径,点击旁边的
图标可直接在 CukeTest 中打开该项目进行编辑。
- 配置: 为每个项目选择不同的运行配置。
- 状态: 项目上一次运行的状态,共有六种状态:
- 等待运行: 尚未运行过。
- 运行中: 正在运行。
- 运行通过: 运行完成,所有场景均通过。
- 运行失败: 运行完成,结果中有失败的场景。
- 运行被中断: 运行被手动停止,无报告生成。
- 运行出错: 运行过程中遇到致命错误,无法继续。具体原因可查看命令行输出,如被测应用路径错误或缺少依赖。
- 结果: 项目最近一次运行的报告文件路径(通常为
.json
文件)。 - 操作:
- 运行: 单独运行当前项目,并更新该项目的状态和结果。
- 移除: 从项目列表中移除此项目,不会删除项目文件。
- 选择或拖拽添加: 点击“选择或拖拽添加”按钮或直接将项目文件夹拖拽至此区域,即可将项目添加到列表中。
一键选择失败项目
在项目列表顶部的全选复选框支持多种行为,可提升测试操作效率:
- 第一次点击(全选):选中列表中的所有项目。
- 第二次点击(全不选):取消选中所有项目。
- 第三次点击(选择失败项目):仅选中状态为“运行失败”的项目。
这个功能非常实用,尤其是在测试回归时。您可以快速地重新运行那些上一次执行失败的测试,而无需手动逐个勾选。
输出面板
输出面板提供了三个标签页,分别是输出、命令行和运行报告。
- 输出:显示CukeTest项目运行时的控制台日志。
- 命令行:动态显示运行当前选中项目的完整命令行命令。
- 运行报告:列出本次批量运行所生成的报告文件链接,方便快速访问。
运行配置
在批量运行工具中,您可以通过“运行配置”界面对各项设置进行调整,以适应不同的测试需求。该界面包含报告格式、输出目录、视频录制等多项功能选项,使您能够灵活管理批量测试任务。以下是运行配置界面的示例截图:
缺省超时时间
缺省超时时间 允许您为每个测试项目设置执行时间限制。当前设置为 10分钟
,表示如果项目运行时间超过此限制,将被强制终止。之后,批量工具会继续运行其他项目。这一设置有助于避免单个测试任务耗时过长影响整体进度。
报告格式
在所有选定项目完成运行后,CukeTest会生成汇总的批量运行报告。您可以选择两种报告格式:HTML 和 Word,它们分别具有不同的优势,方便您更好地分析和分享测试结果。
批量报告有以下特点:
- 快速查看所有已测试的功能和场景。
- 展示每个场景的详细信息,包括步骤、参数、错误、截图等。
HTML 报告
HTML报告提供了丰富的交互功能,您可以:
- 进行搜索、排序和筛选。
- 无需安装任何额外软件,直接通过浏览器查看报告。
- 便于从网页或其他文档中创建链接,方便分享和访问。
Word 报告
Word报告格式稳定、易于打印和编辑。您可以基于生成的报告进行样式修改或插入额外内容,制作更符合需求的自定义测试报告。
输出目录
您可以通过“输出目录”选项,指定生成的报告文件的保存路径。点击 选择目录
按钮,浏览并选择一个文件夹,所有的报告文件将会保存在此目录中。通过集中管理报告文件,您可以更加方便地查找和归档测试结果。
视频录制
视频录制是批量运行工具提供的一个重要功能。启用此选项后,工具会在测试执行过程中自动录制视频,并将视频文件保存到报告目录中。通过回放视频,您可以更直观地查看测试过程,有助于调试和分析问题,尤其是在处理难以复现或解释的问题时。
录屏的优势
- 提高测试的可视化和可追溯性。
- 增强测试的信任度和可信度,方便分享和展示测试成果。
- 当遇到难以复现的问题时,视频可以作为重要的证据,帮助说明问题的存在和原因。
注意: 如果启用了批量运行的“视频录制”功能,将会覆盖单个项目中的视频录制配置。也就是说,工具只会生成一个包含所有项目执行过程的视频,而不是每个项目单独生成视频文件。
拷贝命令
在运行配置界面,您可以复制运行命令并直接在命令行中使用,这与点击 “运行所有” 按钮的效果相同。这样,您可以方便地通过命令行工具运行测试,进一步提升工作效率。有关完整命令的详细介绍,请参阅命令行工具部分。
邮件通知
CukeTest批量运行工具支持邮件通知功能,可以在完成所有项目的自动化测试后,将测试结果通过电子邮件发送给指定的收件人。这一功能帮助您持续跟踪和分析测试结果,更有效地控制和管理项目的质量。
在CukeTest批量运行工具界面中配置使用邮件通知功能非常简单。您可以按照以下步骤进行设置:
点击工具栏中的“邮件通知”按钮,打开邮件通知设置。
在邮件通知设置中,启用邮件通知,并选择用来发送的邮件配置。如果是首次设置,请点击“管理”进入邮件配置页面并新建配置。
在邮件配置页面填写以下参数:
- 发件人:填写发件人的邮箱地址。
- 收件人:填写接收邮件通知的邮箱地址,可以是多个邮箱,用逗号或分号隔开。
- 邮件主题:填写邮件的标题,简明扼要地描述邮件内容。。
- 邮件内容:填写邮件的正文,可以包含测试结果的说明或其他相关信息。
- 附件:可选择是否需要将测试报告作为附件一起发送,以提供测试结果的详细信息。
- 服务器:填写发送邮件的邮箱服务器地址,例如"smtp.example.com"。
- 端口:填写邮箱服务器的端口号,通常为465或587。
- 端口安全连接:选择是否启用SSL加密
- 用户名:填写发送邮件的邮箱地址,用于邮件发送时的身份验证。
- 密码:填写发送邮件的邮箱密码,用于邮件发送时的身份验证。
确认配置信息无误后,点击保存以完成邮件配置。
返回邮件通知设置界面,确认邮件通知已启用,再次点击保存。
通过以上配置,即可启用CukeTest批量运行工具的邮件通知功能,并在测试执行过程中及时收到测试结果的邮件通知,提高团队协作效率和测试效率。
命令行工具
CukeTest 为批量运行工具提供了命令行接口,这使得您可以在不打开图形界面的情况下,通过脚本或 CI/CD 系统来管理和执行批量测试。
命令行选项
cuketest batch
命令的常用选项如下:
选项 | 描述 |
---|---|
*.cukerun |
使用指定的cukerun文件,执行批量测试 |
--ui |
打开批处理工具的图形界面 |
--no-color |
在批量运行时禁用彩色输出 |
--out <value> |
指定报告文件的输出目录 |
--headless |
在不显示用户界面的情况下运行批量测试,此选项仅支持Linux环境。 |
-h, --help |
显示命令的帮助信息。 |
常用命令示例
1. 启动批量运行工具界面
从终端中启动批量运行工具的图形界面:
cuketest batch --ui
2. 运行指定的批量清单文件
使用 .cukerun
文件执行批量测试。以下命令会运行当前目录下的 my_tests.cukerun
文件中配置的所有项目:
cuketest batch my_tests.cukerun
3. 运行批量测试并将报告输出到指定目录
此命令会运行 my_tests.cukerun
文件,并将生成的报告(包括汇总报告和日志文件)保存在 ./reports/batch_run
目录下:
cuketest batch my_tests.cukerun --out ./reports/batch_run
输出信息
当您使用批量工具运行测试时,除了每个项目自身的输出信息外,工具还会在所有项目运行结束后,在终端中提供一个简洁的汇总报告。这个报告概括了每个项目的运行状态和耗时,便于您快速了解测试概况。
示例输出如下:
======== Projects run completed in 38.209s ========
- 2 Passed
- 1 Failed
| ID | Project | Result | Duration |
|----|-------------|----------|-------------|
| 1 | qt-dialog | ✓ passed | 00:00:03.753s |
| 2 | qt-notepad | ✓ passed | 00:00:05.198s |
| 3 | math | ✗ failed | 00:00:00.007s |
在上面的表格中:
- ID: 项目序号。
- Project: 项目名称。
- Result: 运行结果,
✓ passed
表示成功,✗ failed
表示失败。 - Duration: 项目运行所花费的时间。
此外,所有在终端中的输出信息都会自动保存到批量工具的报告目录中,生成一个名为 output.log.html
的文件。这个 HTML 文件会保留原始的彩色日志,方便您后续审查和诊断问题。