gpt4 book ai didi

python - 在机器人框架数据驱动方法中生成测试用例

转载 作者:行者123 更新时间:2023-11-28 20:49:31 25 4
gpt4 key购买 nike

我有一个关于在使用测试模板时如何避免将测试数据硬编码到 Robot 框架测试用例中的问题。

我有测试用例,例如:

Test template     Invalid Login
*** Test Cases *** LOGIN PASSWORD
Login admin admin ${INVALID_PWD}
Login student student ${INVALID_PWD}
Login learner learner ${INVALID_PWD}
Login staff staff ${INVALID_PWD}

等等……

只要我没有 100 个左右的登录名和密码,我就喜欢这种方法。然后我需要在这里对其进行硬编码,这对我来说似乎有点太多了。

另一个我尝试过的是:

*** Test Cases ***
Mahara Invalid Login
[Template] Invalid ${login} with ${password}
admin aa
student aa

这使它更简单一些,但我也不喜欢它,因为它只是一个包含几个不同步骤的测试用例,每个步骤使用不同的测试数据。

比方说,我想要的是一个登录名和密码列表,或者 Python 中的一个字典,并让 Robot 框架使用它们来生成此类测试用例。但是,我不知道这是否可能。

我搜索了一下,除此之外,还找到了这篇文章:https://stackoverflow.com/a/25206407/10401931这看起来不太乐观。

然后,我找到了几种读取 .csv 的方法。我可以在 Python 中实现这一点,但它没有回答我的问题,即如何将我在 .csv 中读取的内容加载到 Python 中的这种数据驱动方法中。基本上,我认为它归结为如何强制测试模板循环遍历给定的给定列表/字典。由于测试模板基本上是一个 for 循环,因此可能有一种方法可以稍微更改此循环。或者不存在?

另一种方法是将整个 .robot 测试套件生成为 Python 文件。再一次,我知道如何做到这一点,但它似乎过度设计了很多,我想找到一种更简单的方法来做到这一点。

如果能在正确的方向上插入一点点,我将不胜感激。

谢谢

最佳答案

为了在这里完成这个,我将回答我的问题。

下面的测试用例完成了我想要的工作:

*** Test Cases ***
Mahara Invalid Login
[Template] Invalid ${login} with ${password}
:FOR ${login} IN @{invalid_logins.keys()}
\ ${login} ${invalid_logins['${login}']}

在这种情况下,我从 Python 字典中加载测试数据,其中键是登录名,值是密码。

或者我可以使用 .csv 文件并执行如下操作:

Mahara Invalid Login      
${all_rows}= Get All Rows ${invalid_login_file} ${DELIMITER} ${HEADER}
:FOR ${row} IN @{all_rows}
\ ${login}= Set Variable ${row[0]}
\ ${password}= Set Variable ${row[1]}
\ Invalid ${login} with ${password}

Get All Rows 是我用来从 .csv 文件加载数据的自定义关键字。

这两个例子,我都不需要写太多,准备好测试数据,用Python写一个for循环即可。

关于python - 在机器人框架数据驱动方法中生成测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53061195/

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