【问题标题】:RobotFramework: Purpose and best practice for the resource- and library-foldersRobotFramework:资源和库文件夹的目的和最佳实践
【发布时间】:2021-12-28 11:18:56
【问题描述】:

我在思考 RobotFramework 中资源和库文件夹使用的目的和最佳实践。

下面我提出了一些陈述来说明我的问题。 (使用的缩写:KW = KeyWord,RF = RobotFramework,TS = TestSuite)。

陈述/问题:

每个设计为在 TS 之间共享并以 RF 语法编写的 KW 都应该放在 Resource-folder 中的 .resource-file 中吗?

每个用 Python 编写的 KW 都应该放在 Library 文件夹中(作为 .py 文件中的一个方法)?

即Resource-和Library-folder之间的区别线是根据编写KW时使用的语法绘制的(RF-KW进入Resource-folder,Python-KW进入Libraries-folder)。

或者,是否应该根据与测试设备和被测系统的接近程度来绘制区分线。 (即高级或低级关键字。据说低级关键字与被测系统交互)。因此您可以将 python KW(方法)放在资源文件夹中?

【问题讨论】:

    标签: robotframework


    【解决方案1】:

    我的看法 - 对所有内容都是肯定的,即使在最后一段带有“或”的情况下也是如此。直到它成为关于文件内容/语法的问题之前的一切。如果您的 python(库)文件具有上下文意义的 KW-s,可以与其他类似的 RF(资源)文件放在一个文件夹中 - 将它放在那里。

    记住两件事:对于 Robotframework,ResourceLibrary 之间的区别主要在于它所期望的语法以及如何导入目标资源。它不会对其目的强制执行任何严格的期望。
    例如。没有什么能阻止你在 python 中开发一个高级关键字,比如

    def login_with_user_and_do_complex_compund_action(user, pass, other_arg)
    

    ,也不创建一个用Robotframework语法写的相对底层的KW:

    Keyword For Complex Math That Should Better Be In Python
        [Arguments]   ${complex_number}   ${transformer_functuon}    ${other_arg}
    

    另一件事是 Robotframework 是您为 SUT 构建您的自动化测试框架的工具(-set)。 您的框架是指套件和测试的结构和组织、它们的互连和层次结构,以及 - 其操作的“助手” - 前面提到的资源 (RF) 和库 (py) 文件.
    只要这个框架在逻辑上是合理的,已经建立了惯例并且易于掌握和遵循,您就可以拥有任何适合您的结构。

    【讨论】:

    • 感谢您的回答!我相信我们会将所有包含 KW 的文件放在资源文件夹中,无论文件是用 py 还是 rf 编写的(正如我相信你所建议的那样)。
    • 我的建议是:如果文件中函数的逻辑布局表明它们应该放在一起,那么将它们物理上放在同一个目录应该就可以了。去吧:)
    猜你喜欢
    • 2010-12-24
    • 2013-11-18
    • 2014-06-24
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    相关资源
    最近更新 更多