从测试用例中生成机器人框架测试用例?

Robot Framework Test Case Generation from Within a Test Case?

我正在使用 Robot Framework 对基于 Linux 的设备进行机载单元测试自动化。

设备有一个目录/data/tests,里面有一系列的子目录,每个子目录都是一个测试模块,'run.sh'要执行到运行单元测试。例如:

/data/tests/module1/run.sh

/data/tests/module2/run.sh

我写了一个函数,将子目录名称收集在一个数组中,这是要执行的测试模块列表。模块数量每天都在变化。

@{modules}=     SSHLibrary.List Directories in Directory       /data/tests

然后另一个函数(模块测试)基本上运行在元素列表上执行一个FOR循环并在每个子目录中执行run.sh,收集日志数据,并将其记录到log.html 文件.

我遇到的问题是,在创建 log.html 文件时,有一个名为 Module Test 的测试用例,在 FOR 循环下,每个元素都有一个 'var' 条目(测试模块)。在每个 'var' 条目下是模块执行的结果。

是否可以从 FOR 循环中为每个元素创建一个测试用例并记录结果?现在,如果其中一个模块/元素失败,我得不到准确的结果,我仍然可以通过 Module Test 测试用例。我想记录测试用例模块 1、模块 2、...、模块 N,每个都有日志并通过失败。鉴于模块的数量会因执行而异,我无法创建静态测试用例,我需要能够在为测试确定模块数量后动态创建测试用例 运行.

非常感谢任何意见。

谢谢,

段.

考虑编写一个 bash 脚本来 运行 机器人测试每个模块,然后使用 rebot 脚本将报告合并为一个报告。在 pybot 脚本中使用 --name 参数来区分报告中的测试。

您可以编写一个简单的脚本,通过读取/data/test/module*动态创建机器人测试文件,然后为每个模块创建一个测试用例。在每个测试用例中,只需 运行 操作系统命令并检查 return 代码(run.sh)。 这样,您将获得一个测试套件,其中包含许多测试用例,每个测试用例代表一个模块。