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

时间:2015-11-27 04:54:00

标签: unit-testing testing robotframework testcase

我正在使用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

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

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

是否可以在FOR循环中为每个元素创建一个测试用例并根据它来记录结果?现在,如果其中一个模块/元素出现故障,我无法获得准确的结果,我仍然可以获得模块测试测试用例的通过。我想记录测试用例模块1,模块2,...,模块N,带有日志并且每个都通过失败。鉴于模块的数量因执行而异,我无法创建静态测试用例,一旦确定了测试运行的模块数量,我就需要能够动态创建测试用例。

非常感谢任何输入。

谢谢,

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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