如何在robot framework中添加sshlibrary库
发布网友
发布时间:2022-04-18 17:48
我来回答
共1个回答
热心网友
时间:2022-04-18 19:17
基本语法
测试用例由关键字组成,关键字的来源有三种:
1从测试库引入;2从资源文件引入;3从关键字表中引入(自定义关键字)
下面就是一个典型的测试用例组织形式。
Robot <wbr>Framework测试用例2---(测试用例语法1)" border="1" height="239" src="" width="672" />
图中有2个测试用例“Valid Login” 和 “Setting Varriables”。第一列是用例名称,第二列是关键字,这些关键字来实现具体的测试工作,后面的列是参数列,放置关键字需要的参数。Valid Login这个用例其实很清晰,我们通过读这个用例使用的关键字就能清晰的看出是一个登陆的检验。
使用参数
我们看到,关键字其实和编程语言中的函数很相似,他们有时候要输入参数(arguments)。关键字是否需要参数,需要多少参数,和需要什么样的参数一般在关键字的文档中给出。你编写扩展库的时候如果遵循注释规范,可以使用libdoc.py或者javadoc(使用Java编写扩展库时)生成。
从下图的2个例子中,我们可以看到:
Create directory需要1个参数,CopyFile需要2个,而No Operation不需要参数。
我们可以把变量作为参数输入(${CURDIR}就是一个变量,后面会讲解)。
有些参数有默认值,如果你不输入则会取默认值,如Create File ,第三个参数的默认值是 UTF-8
还有一些我们不常用到的细节,这里就不一一指出了,可以参阅官方文档的2.2节。
4.指名参数:可以给参数加上名字,这样参数的意义显得更清晰(当然得测试类库提供这样的支持)
从上面例子中我们能看出 Setting段引入的Telnet 类库输入了一个参数 $ ,通过参数前的指名,我们看到这个$代表了所连接系统的提示符。从Test case段 我们看到 Open connection 的第二个参数 ${25},通过参数前的指名“port”我们知道了这个参数代表端口号。
测试用例的描述信息(metadata,也就是元数据)
很多时候我们需要对测试用例进行描述和标记,这样有2个作用:帮助用例使用者更清晰了解测试的意图;在测试执行期间的利用这些元数据动态的控制用例的测试执行(比如根据tag选择那些用例执行,那些不执行)。
RB的元数据有2种,一种是[documentation],一种是[tag]。
[documentation]帮助记录有用的信息,记录结果会保存在日志和测试报告文件中。下图就是documentation的使用方法,我们用[documentation]这个关键字来表示,这是一个描述信息。另外,看测试用例 Variables,[documantation]的参数中可以使用变量。
[Tags]是测试用例的元数据(metadata),能够帮助完成如下工作:能够给测试用例归类,帮助完成相关的统计;能够根据tags决定执行或者不执行那些测试用例;能够用tag标记哪些用例是关键用例。