【问题标题】:How to import functions from different files in robot framework?如何从机器人框架中的不同文件导入功能?
【发布时间】:2016-02-23 21:41:53
【问题描述】:

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

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

例如

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

如果我必须对这个特定的 (logIn) 功能进行小改动,我会检查每个测试用例并进行必要的更改。

这确实是一个耗时的过程。

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

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

是否有任何关键字如“导入功能”/“导入模块”可用于此特定场景?

【问题讨论】:

    标签: selenium-webdriver automation automated-tests robotframework


    【解决方案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
    

    【讨论】:

    • 谢谢@Bryan!如果我想在此代码中添加更多资源文件,是否可以通过在它们之间添加, 来包含所有这些文件?我在尝试做这样的事情时出错 - Resource login.txt , invalidLogin.txt ! (将两个文件添加为单独的资源文件后它开始工作 - Resource login.txt /n Resource dashboard.txt !)
    • @ArunRamachandran:不,您不能使用逗号。每个资源都必须在单独的行中导入。
    【解决方案2】:

    基本语法

     *** 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
    

    【讨论】:

      猜你喜欢
      • 2015-09-24
      • 2017-06-24
      • 2022-10-25
      • 1970-01-01
      • 2021-11-11
      • 2018-02-12
      • 2017-04-23
      • 2017-08-06
      • 1970-01-01
      相关资源
      最近更新 更多