如何从机器人框架中的不同文件导入函数?

时间:2015-11-21 11:52:33

标签: selenium-webdriver automation automated-tests robotframework

我正在使用Robot Framework& amp;编写自动化测试脚本。 Selenium2Library用于测试我们的Web应用程序(以.txt格式)。

机器人框架中是否有任何选项可以导入用其他文件编写的函数/模块?

例如

我已经编写了近300个测试用例来测试我们的Web应用程序。所有测试用例都包含登录验证的常用功能。

如果我必须在这个特定的(logIn)函数中做一个小的改动,我已经完成了每个测试用例&做出必要的改变。

这是一个非常耗时的过程。

所以,我只是想知道,机器人框架中是否有以模块化方式编写测试用例的选项?

就像,如果我为登录验证编写'login.txt'函数 - 机器人框架中是否有可用于将此特定函数导入任何其他测试用例的选项?

是否有针对此特定方案的“导入功能”/“导入模块”等关键字?

2 个答案:

答案 0 :(得分:1)

您可以在resource fileslibraries中放置共享关键字。资源文件几乎与测试用例文件完全相同,只是它们没有测试用例。库包含用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