Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Robot框架是有状态的还是无状态的?_Python_Ssh_Robotframework - Fatal编程技术网

Python Robot框架是有状态的还是无状态的?

Python Robot框架是有状态的还是无状态的?,python,ssh,robotframework,Python,Ssh,Robotframework,我认为它是无国籍的,但具体情况如下: 我需要创建一个关键字库,通过SSH登录、执行CLI并发送CLI命令来测试远程服务器。问题是我正在尝试模拟大约60k个测试用例,它们在不同的时间在不同的迭代中发送命令,因此基本上我至少需要关键字来执行以下操作: 通过ssh连接并打开CLI 通过预先存在的CLI会话发送命令 关闭CLI并断开连接 我需要这些命令来存储状态,这样我就可以在测试用例开始时调用keyword1,并存储会话,以便在不同时间多次调用keyword2。我还需要能够存储多个独立会话 使用Rob

我认为它是无国籍的,但具体情况如下:

我需要创建一个关键字库,通过SSH登录、执行CLI并发送CLI命令来测试远程服务器。问题是我正在尝试模拟大约60k个测试用例,它们在不同的时间在不同的迭代中发送命令,因此基本上我至少需要关键字来执行以下操作:

  • 通过ssh连接并打开CLI
  • 通过预先存在的CLI会话发送命令
  • 关闭CLI并断开连接
  • 我需要这些命令来存储状态,这样我就可以在测试用例开始时调用keyword1,并存储会话,以便在不同时间多次调用keyword2。我还需要能够存储多个独立会话


    使用Robot可以解决此类问题吗?

    要直接回答您的问题,可以是。库可以有三个作用域之一,控制库保持其状态的时间。通过使用全局作用域,只会创建库的一个实例,并在测试执行的生命周期内保持该实例。其他选项为每个测试套件或每个测试用例提供一个新的库实例

    从中,支持的作用域包括:

    测试用例:为每个测试用例创建一个新实例。可能的套件设置和套件拆卸共享另一个实例。这是默认设置

    测试套件: 为每个测试套件创建一个新实例。从测试用例文件创建并包含测试用例的最低级别的测试套件有自己的实例,而更高级别的套件都有自己的实例用于可能的设置和拆卸

    全球
    在整个测试执行过程中,只创建一个实例,它由所有测试用例和测试套件共享。从模块创建的库总是全局的。

    我从未使用过
    robotframework
    ,但我知道您可以使用
    子流程来实现这一点。如果你想探索其他选择,请告诉我。谢谢。但是如果我在一个测试用例中需要一个库的多个实例呢?@ewok:为什么需要一个库的多个实例呢?因为我需要存储多个ssh连接。基本上,我需要能够在多个上下文中使用
    Send Message
    关键字。我可以使用它向CLI-a发送消息,然后立即使用它向CLI-b发送不同的消息,但我需要能够在整个测试过程中单独访问这些CLIcase@ewok:您是在谈论ssh库吗?您可以使用libraryok的单个实例打开多个连接。调用关键字时如何区分它们?这是我尝试做的一个例子。我需要打开2个CLI会话,并需要在发送消息时以某种方式区分它们。