gpt4 book ai didi

global-variables - Robot Framework - 使用资源文件

转载 作者:行者123 更新时间:2023-12-04 08:32:23 24 4
gpt4 key购买 nike

我有一个测试文件,用于检查应用程序每个页面上是否存在所有关键元素(每页一个场景)。但是,该应用程序相当复杂并且具有不同类型的用户(管理员、普通用户等),我希望能够通过相同的 pages.robot文件与每种类型的用户(并且可能在该 if 文件中为每种类型的用户提供一些 pages.robot 语句),但我不确定我应该怎么做。我猜我应该使用 Resource File并设置一个全局 userType变量与 admin , regular等并运行 pages.robot文件多次(每个用户类型一次)但我不知道如何设置 Resource FileuserType多变的。

关于如何 Resource File 的任何想法应该看起来像然后如何为每种类型的用户运行相同的文件?

最佳答案

您可以将您的测试用户配置/属性存储在资源文件(例如 test_properties.txt)中,如下所示:

=== test_properties.txt ===

| *** Variables *** |
| ${tp_app_url} | http://yourapp.com |
| ${tp_browser} | firefox |
| ###### user roles to test with - admin, non-admin, regular |
| ${tp_user_type} | admin |
| ###### test users |
| ${tp_admin_user} | admin@app.com |
| ${tp_admin_password} | admin@123 |
| ${tp_regular_user} | regular@app.com |
| ${tp_regular_password} | regular@123 |

在这里,您要测试应用程序的用户角色/类型定义为:
| ###### user roles to test with - admin, regular |
| ${tp_user_type} | admin |

然后您的测试套件文件可以导入上面的资源文件,如下所示:

=== testsuite.txt ===
| *** settings *** |
| Library | Selenium2Library |
| Resource | test_properties.txt |

| *** test cases *** |
| Validate Page Controls |
| | Open Browser To Login Page | ${tp_user_type} |
| | Page Controls Should be Visible | ${tp_user_type} |

| *** keywords *** |
| Open Browser To Login Page |
| | [Arguments] | ${user_type} |
| | Open Browser | ${tp_app_url} | ${tp_browser} |
| | Input Username | ${tp_${user_type}_user} |
| | Input Password | ${tp_${user_type}_password} |
| | Submit Credentials |
| | Title Should Be | Welcome Page |

| Input Username |
| | [Arguments] | ${username} |
| | Input Text | username_field | ${username} |

| Input Password |
| | [Arguments] | ${password} |
| | Input Text | password_field | ${password} |

| Submit Credentials |
| | Click Button | login_button |

| Page Controls Should be Visible |
| | [Arguments] | ${user_type} |

您与验证页面控件相关的代码可能位于关键字 Page Controls Should be Visible 中。它将根据用户类型参数执行检查。

注意:这里测试用户的userId和password变量是通过嵌入用户类型变量形成的: ${tp_${user_type}_user}反过来被评估为 ${tp_admin_user}在我们的情况下。

在执行过程中,您可以在命令行中传递 ${tp_user_type} 的值,它会覆盖资源文件中设置的值。
pybot --variable tp_user_type:non-admin path/to/your/testfile

如果要对多种用户类型运行相同的测试,可以创建一个批处理文件,如:
pybot --variable tp_user_type:non-admin path/to/your/testfile
pybot --variable tp_user_type:admin path/to/your/testfile
pybot --variable tp_user_type:regular path/to/your/testfile

对于您的问题,我相信会有比这更好的解决方案。理想情况下,上面在测试套件文件中定义的关键字应该驻留在资源文件中。您也可以创建一个 data-driven test为每个用户类型运行模板关键字(验证页面控件)。

关于global-variables - Robot Framework - 使用资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38179126/

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