【问题标题】:Pabot: How to use different dataset for each threadPabot:如何为每个线程使用不同的数据集
【发布时间】:2022-05-06 03:17:19
【问题描述】:

我正在尝试使用 Pabot 并行化机器人测试。让我解释一下这个问题。

假设我有 TestATestB 测试。还有DataADataB 数据集。

使用 Pabot 有两种方式/目标。

1.针对不同的数据集(例如不同的移动设备)运行相同的测试/我知道这应该使用 --argumentfileX 选项标志来完成。所以接下来将是测试运行。

TestA with DataA
TestA with DataB
TestB with DataA
TestB with DataB

很明显,当您想针对各种 Env/Data 运行测试时,这很有用。

2。划分和拆分运行时间。目标是尽可能减少运行时间,以下是期望的

TestA with DataA
TestB with DataB

这个(#2)是我的目标。我正在尝试这个:robot framework with pabot : is it possible to pass two different values to a variable in two tests

我的意思是这个命令:

pabot --pabotlib --resourcefile Log/pabot_dataset.dat --include test-tag --processes 4 SUITE

但问题是导入pabot.pabotlibAcquire Value Set 命令应该存在于每个机器人测试用例中,这对我来说更改机器人文件的成本很高,因为这里有数千个测试。

那么解决办法是什么?

【问题讨论】:

    标签: python testing automated-tests robotframework


    【解决方案1】:

    您至少必须更改测试套件,您可以将“获取值集”传递给测试设置一次,这样您就不必更改每个测试用例。

    *** Settings ***
    Library    pabot.PabotLib
    Test Setup    Assign Value Set  
    
    *** Keywords ***
    Assign Value Set
        ${valuesetname}=    Acquire Value Set
        Set Test Variable    ${valuesetname}
    

    如果您不想更改测试套件文件,可以使用初始化文件。在测试套件所在的文件夹中创建__init__.robot 文件并添加这些行

    *** Settings ***
    Library    pabot.PabotLib
    Test Setup    Acquire Value Set
    

    但它有一些限制,例如“在初始化文件中创建或导入的变量和关键字在较低级别的测试套件中不可用。”。

    【讨论】:

    • 谢谢博伯。我正在寻找一种不更改机器人文件的方法。
    • 谢谢但没有帮助,它不允许导入数据文件并且无法识别变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多