机器人框架是有状态还是无国籍?

时间:2015-09-01 19:44:59

标签: python ssh robotframework

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

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

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

    这种问题是否可以使用机器人?

1 个答案:

答案 0 :(得分:3)

要直接回答您的问题,也可以是。库可以具有三个范围之一,用于控制库维护其状态的时间。通过使用GLOBAL范围,将只创建一次库的实例,并将在测试执行期间保留。其他选择为每个测试套件或每个测试用例提供了一个新的库实例。

robot framework user guide section on library scopes开始,支持的范围是:

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

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

<强> GLOBAL : 在整个测试执行期间只创建一个实例,并由所有测试用例和测试套件共享。从模块创建的库始终是全局的。