我正在使用Robot Framework& amp;编写自动化测试脚本。 Selenium2Library用于测试我们的Web应用程序(以.txt格式)。
机器人框架中是否有任何选项可以导入用其他文件编写的函数/模块?
例如:
我已经编写了近300个测试用例来测试我们的Web应用程序。所有测试用例都包含登录验证的常用功能。
如果我必须在这个特定的(logIn)函数中做一个小的改动,我已经完成了每个测试用例&做出必要的改变。
这是一个非常耗时的过程。
所以,我只是想知道,机器人框架中是否有以模块化方式编写测试用例的选项?
就像,如果我为登录验证编写'login.txt'函数 - 机器人框架中是否有可用于将此特定函数导入任何其他测试用例的选项?
是否有针对此特定方案的“导入功能”/“导入模块”等关键字?
答案 0 :(得分:1)
您可以在resource files和libraries中放置共享关键字。资源文件几乎与测试用例文件完全相同,只是它们没有测试用例。库包含用python编写的关键字。
例如,您可以使用关键字“登录我的应用程序”创建名为login.txt的文件,如下所示:
# login.txt
*** Keywords ***
Log In To My App
<your code to log in to the app>
然后,您可以将此包含在您的其他测试用例中:
# test_suite_1.txt
*** Settings ***
Resource login.txt
Suite setup log in to my app
# test_suite_2.txt
*** Settings ***
Resource login.txt
Suite setup log in to my app
答案 1 :(得分:0)
基本语法
*** Settings ***
Library OperatingSystem
Library my.package.TestLibrary
Library MyLibrary arg1 arg2
Library PythonLibrary.py
Library /absolute/path/JavaLibrary.java
Library relative/path/PythonDirLib/ possible arguments
Library ${RESOURCES}/Example.class
与大多数其他数据不同,库名称对区分大小和空间敏感。 如果包在库中,则必须使用包括包名称的全名。
同样如您所知,我们也可以通过关键字从测试用例中导入库 “导入图书馆”。 例如:
*** Test Case ***
My Testcase
Open Browser https://facebook.com
Import Library My Library
My Library.Login ##Keyword from My Library