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

我相信它是无状态的,但是具体情况如下:

我需要创建一个关键字库,该库将通过SSH登录,执行CLI和发送CLI命令来测试远程服务器.问题是我要模拟大约6万个测试用例,这些用例在不同时间以不同的迭代发送命令,因此基本上我至少需要关键字来执行以下操作:

>通过ssh连接并打开CLI
>通过预先存在的CLI会话发送命令
>关闭CLI并断开连接

我需要这些命令来存储状态,以便我可以在测试用例的开始时调用keyword1,并在不同的时间存储用于多次调用keyword2的会话.我还需要能够存储多个独立的会话.

使用Robot可以解决这种问题吗?

解决方法:

要直接回答您的问题,可以是任何一种.库可以具有三个范围之一,这些范围可以控制库保持其状态的时间.通过使用GLOBAL范围,将仅创建一次库实例,并且该实例在测试执行期间将一直保留.其他选择为您提供了每个测试套件或每个测试用例的新库实例.

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

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

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

全球:
在整个测试执行过程中,只会创建一个实例,并且所有测试用例和测试套件都共享一个实例.从模块创建的库始终是全局的.

上一篇:python-机器人框架和Django


下一篇:python-使用Robot Framework截取整个网页的屏幕截图