如何在机器人框架中并行运行多个测试套件上的多个测试用例 | Python

Posted

技术标签:

【中文标题】如何在机器人框架中并行运行多个测试套件上的多个测试用例 | Python【英文标题】:How to run multiple test case on multiple test suite parallely in robot framework | Python 【发布时间】:2021-05-19 04:43:18 【问题描述】:

我开发了一个工具,用于使用机器人框架 python 对 3 个 url 进行自动化 Web 测试。我只是想并行执行所有测试套件,连同测试用例,它也应该并行运行 例如

URL1 - TestCase1 , TestCase2

URL2 - TestCase1 , TestCase2

URL3 - TestCase1, TestCase2

这里我应该并行运行所有这些测试套件(URL1、URL2、URL3),并且测试套件中的每个测试用例都应该并行运行。

有什么办法可以做到吗?目前我做了这样的事情,它允许我并行运行所有测试用例,但它一起执行(测试套件)。我希望每个测试套件分别生成报告。

os.system(
            'cmd /c "pabot --testlevelsplit  --processes  10'
            ' --outputdir   C:/filemanager/'+log_time+'/'
            '    C:/Users/abc/*.robot"'
        )

【问题讨论】:

【参考方案1】:

我不确定我是否跟随,Ruli。如果您想要自己品牌的并行性,那么您甚至不需要 pabot。只需生成同时的进程外壳。使用 &、jobsfg 将它们作为 UNIX 作业作为 bash 内置作业控制的背景。

似乎您已经知道如何使用pabot,因为您在示例中给出了它,但也许您的解决方案没有使用它。

我喜欢 pabot 保留给定测试套件完整性的方式,即不尝试在测试套件中并行执行测试,这是设计的。

由于您寻求的并行性是让 URL1、URL2 和 URL3 同时运行并各自生成 Robot 报告 - 然后分别运行它们!

【讨论】:

鲁迪是谁? :) Rudi是Ruli的平行自我。 嗨@SteveRawlins,但在机器人中我不能使用testsplit,testsplit用于并行运行测试用例 有什么方法可以在 Python 中使用多线程来解决这个问题@SteveRawlins 请注意,Ruli 只是编辑问题的人。

以上是关于如何在机器人框架中并行运行多个测试套件上的多个测试用例 | Python的主要内容,如果未能解决你的问题,请参考以下文章

如何并行运行机器人框架测试用例而不是并行测试套件?

Pabot - 无法运行并行机器人框架测试

如何在同一台机器上运行多个硒测试套件

如何在 Perl 测试套件中并行运行一些但不是所有测试?

无法在 pycharm 中使用 pabot 运行并行机器人框架测试

如何在机器人框架中实现并行执行