Web Robot框架我可以重用具有多个接口的测试用例吗

Web Robot框架我可以重用具有多个接口的测试用例吗,web,command-line-interface,robotframework,Web,Command Line Interface,Robotframework,我有很多高级测试用例。 我为以下对象实现了相同的关键字: CLI(远程登录) 网 有没有一种简单的方法来运行这些测试用例,即不复制文件,只传递命令行参数或类似的东西,以便同时为CLI和WEB运行这些测试用例?这个问题可以用不同的方法解决,这在很大程度上取决于您希望如何构造测试用例库和脚本 启动应用程序。如果您的Web和CLI关键字的特定资源文件具有相同的关键字名称,用于相同的检查/处理,则在启动Robot之前删除不需要的文件 自定义导入关键字除了在中导入资源文件外,还可以通过关键字导入资源文件:

我有很多高级测试用例。 我为以下对象实现了相同的关键字: CLI(远程登录) 网


有没有一种简单的方法来运行这些测试用例,即不复制文件,只传递命令行参数或类似的东西,以便同时为CLI和WEB运行这些测试用例?

这个问题可以用不同的方法解决,这在很大程度上取决于您希望如何构造测试用例库和脚本

  • 启动应用程序。如果您的Web和CLI关键字的特定资源文件具有相同的关键字名称,用于相同的检查/处理,则在启动Robot之前删除不需要的文件
  • 自定义导入关键字除了在中导入资源文件外,还可以通过关键字导入资源文件:。这还有一个额外的优点,即可以使用变量创建文件引用。例如,如果您有一个带有Web/CLI的全局文件,并使用目录分隔文件,则这可以是文件夹名称引用
  • 测试用例标记通过复制测试用例,您可以加载CLI和Web的所有关键字。它们的关键字应该是唯一的,否则它们会冲突。通过添加,您可以在启动Robot时利用标记过滤器功能,仅运行那些具有和/或缺少特定标记的测试用例 考虑到您的测试用例是唯一的测试用例,因为它们测试不同的UI,所以我将在测试用例级别进行分类并使用标记。虽然如果你做出一个有意识的决定,没有对错之分


    由于这与为不同环境维护设置的解决方案密切相关,请记住这一点

    这个问题可以用不同的方法解决,这在很大程度上取决于您想要如何构造测试用例库和脚本

  • 启动应用程序。如果您的Web和CLI关键字的特定资源文件具有相同的关键字名称,用于相同的检查/处理,则在启动Robot之前删除不需要的文件
  • 自定义导入关键字除了在中导入资源文件外,还可以通过关键字导入资源文件:。这还有一个额外的优点,即可以使用变量创建文件引用。例如,如果您有一个带有Web/CLI的全局文件,并使用目录分隔文件,则这可以是文件夹名称引用
  • 测试用例标记通过复制测试用例,您可以加载CLI和Web的所有关键字。它们的关键字应该是唯一的,否则它们会冲突。通过添加,您可以在启动Robot时利用标记过滤器功能,仅运行那些具有和/或缺少特定标记的测试用例 考虑到您的测试用例是唯一的测试用例,因为它们测试不同的UI,所以我将在测试用例级别进行分类并使用标记。虽然如果你做出一个有意识的决定,没有对错之分


    由于这与为不同环境维护设置的解决方案密切相关,请记住这一点

    你能提供一个问题的例子来更好地理解它吗?理论上,如果框架架构具有高级抽象(关键字
    执行操作
    ,它与实现步骤不紧密耦合,而是基于->调用这些关键字)和分支逻辑,那么这是可能的(
    如果$env=='cli'运行\u关键字(“cli\u实现”)或者运行\u关键字(“web\u实现”)
    ),但这在很大程度上取决于您已有的结构,您的目标是什么,并且主要取决于您在框架中可以容忍的复杂程度。因此,为了支持Pankaj Mishra的评论,请显示您的代码示例,并进行进一步阐述。您能否提供一个问题示例以更好地理解它。从理论上讲,这是可能的,并且具有高级抽象(关键字
    执行与实现步骤不紧密耦合的操作,但基于->调用此类关键字)和分支逻辑(
    如果$env==“cli”run\u关键字(“cli\u实现”)或run\u关键字(“web\u实现”)
    ),但这在很大程度上取决于您已经拥有的结构、您的目标,以及最主要的—您可以在框架中容忍的复杂程度。因此,支持Pankaj Mishra的评论—显示您的代码示例,并进一步阐述。