gpt4 book ai didi

python - 有没有一种优雅的方法可以使用自动生成的参数调用机器人框架测试?

转载 作者:行者123 更新时间:2023-11-28 19:53:52 25 4
gpt4 key购买 nike

问题总结:我目前正在尝试将现有测试从纯 python 迁移到机器人框架,以便从良好的报告功能中受益。这些系统测试必须使用由许多参数组成的多个参数集重新运行。这就是为什么我已经有一个 python 生成器生成字典,其中包含所有可能的参数配置以及为每个参数生成可读描述的方法。

我想实现:

  1. 一份报告,其中每组参数对应一个测试用例,例如数据驱动的 RF 样式
  2. 可读的测试用例,无需滥用生成器生成难看的“硬代码”

数据驱动方法:我使用生成器编写了以下格式的数据驱动测试文件,这几乎完全符合我想要的输出。我使用这种方法的问题是,我想用作测试用例名称的描述很长,而且要处理的参数远远超过三个,其中大多数具有两个以上的状态。这使得我以这种方式创建的 .robot 文件不可读。我不喜欢输出的一件事是我看不到用于测试用例的参数名称,因此测试标题确实必须包含所有参数的所有信息。除此之外,我认为如果没有更好的解决方案,尽管中间步骤不可读,我还是会采用这种方法。

*** Settings ***
Test Template Check Result With Args

*** Keywords ***
Check Result With Args
[Arguments] ${par1}
... ${par2}
... ${par3}
Set par par1 ${par1}
Set par par2 ${par2}
Set par par3 ${par3}
Evaluation
Check result

*** Test Cases *** par1 par2 par3
description000 0 0 0
description001 0 0 1
description010 0 1 0
description011 0 1 1
description100 1 0 0
description101 1 0 1
description110 1 1 0
description111 1 1 1

以下关键字驱动方法的代码更合我的口味,但输出看起来不太好。使用以下代码,报告中只有一个测试用例,然后多次调用一个关键字。更多缺点:测试设置和拆卸都只调用一次。此外,describe parameters 关键字记录了有关测试用例的信息,但它不会立即可见,而是隐藏在关键字 call 中。不过,使用字典作为参数似乎很不错,因为这样我就可以在每次 for 循环迭代的报告中看到值旁边的字典键。

*** Keywords ***
Set Parameters And Check Result
[Arguments] ${parameter dictionary}
Describe Parameters ${parameter dictionary}
Set Parameters ${parameter dictionary}
Evaluation
Check result

*** Test Cases ***
Check Result For All Possible Configurations
${all configs} = Yield All Possible Configurations
:FOR ${configuration} IN @{all configs}
\ Set Parameters And Check Result ${configuration}

我还尝试在测试用例中使用 [Template],但该解决方案只是结合了我在这里展示的两种方法的缺点。我还没有尝试过的一件事是提供整个测试用例参数并从 python 运行它。我觉得应该有一个优雅的解决方案,以某种方式使用测试模板结合 for 循环和可能的嵌入式参数,但我还想不出来。提前感谢您的帮助!

最佳答案

您可以使用 robotframework-datadriver用于执行您提到的事情的库,即数据驱动和基于关键字。

DataDriver 是使用机器人框架创建数据驱动测试的另一种方法。 DataDriver 根据测试模板和 csv 或 Excel 文件的数据内容创建多个测试用例。所有创建的测试共享相同的测试序列(关键字)并且测试数据不同。

DataDriver is used/imported as Library but does not provide keywords which can be used in a test. DataDriver uses the Listener Interface Version 3 to manipulate the test cases and creates new test cases based on a Data-File that contains the data for Data-Driven Testing. These data file may be .csv , .xls or .xlsx files.

关于python - 有没有一种优雅的方法可以使用自动生成的参数调用机器人框架测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58982482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com