怎么样导入RobotFramework 自定义关键字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么样导入RobotFramework 自定义关键字相关的知识,希望对你有一定的参考价值。

第一步:在D:/python/Lib/site-packages 建立库文件文件夹 MyLibrary

第二步:在MyLibrary 内建立 mytool.py 文件
这个文件里面写自己需要穿件的关键字既方法,如下代码里面有一个比较两参数大小的方法,在Robot Framework 里面将以关键字的方式使用

# coding=utf-8
class mytool():
def __init__(self):
pass
def test_a_b(self,a,b):
\'\'\'
比较两个参数的大小
\'\'\'
if a>b:
flag = False
return flag
else:
flag = True
return flag12345678910111213141234567891011121314

第三步:在MyLibrary 内建立 init.py 文件
如下文件内容模板,注意类名要与库文件夹名称一致

# coding=utf-8
from mytoolimport mytool
version = \'1.0\'
class MyLibrary(mytool):
ROBOT_LIBRARY_SCOPE = \'GLOBAL\'1234512345

ROBOT_LIBRARY_SCOPE = ‘GLOBAL’这一句代表库是全局的
version=\'1.0\'版本定义

第四步:RIDE中导入库,导入步骤详见 博客:
RobotFramework 库文件导入 http://my.oschina.net/hibony/blog/664995

第五步:自定义使用
导入完成之后,我们可以在Ride中键盘按F5到Search Keywords , source选择我们刚刚导入的库,我们会在面板中看见我们库中所有的方法的介绍
参考技术A Resource ./kw.txt

robotframework用户关键字创建过程

robotframework是一个关键字驱动框架,核心在于关键字的应用。系统本身通过各种库自带了大量关键字,同时支持用户自定义关键字。关键字可以简单理解为各种处理数据的方法。

关键字区别与用户参数。

   为什么使用用户关键字:

   以selenium库为例,在robotframework中,提供了大量函数,来执行浏览器操作。可以直接把参数写在用例中。

例如:

 

 

 

又例如:

 

可以看出,上述参数设置维护性差,且复用差。如果涉及大量重复使用参数,上述写法将导致开发效率极差。robotframework实现了流程层和元素层分离的分层方法。

创建用户关键字大体步骤如下:

  1、创建资源文件

  为了方便更好的管理,我们可以重新创建一个目录专门拿来存放用户关键字、数据等资源。同时为了更好的管理关键字,我们把关键字放在不同的resource模块下,也就是先创建resource,再在resource下创建具体的关键字。

 

 

 

 如下图例,说明参数文件中用户关键字的设置:

 

 

  • Arguments:设置传入参数

      变量类型:robotframework里的变量分两种。一种是Scalar,可以理解为单值变量。Scalar型变量用$符号开头。

      在使用上要注意看关键字的参数到底是Scalar的还是List,区别就是看变量名前面是否有 * (星号)。

       一种是List Variable,list型变量,或者可以理解为数组变量。List型变量用@符号开头。理论上可以互相进行转换,视为同一变量。所以注意尽量不要让取值不同的Scalar和List的变量重名,以免冲突。

   arguments写法注意点:

   1、多个传入值之间以“|”分隔。

   2、${xx}=${EMPTY},这样书写就表示该变量可以不传;

   3、${xx}=xx,这样书写表示如果该变量没传值,则会默认使用xx作为变量的值

   4、${xx},这样书写则表示该值必填。

   5、必填参数必须位于最前面,后面再跟可以为空和有默认值的参数(这两个没有顺序之分)

   6、List变量也是可以作为参数,但是List变量只能放在最后一位。1维变量,元素引用使用${list[n]}(从0开始,长度-1  结束)。二维变量用${list[n][m]}(从0开始,长度-1  结束)。

例如:

 

 

Teardown:设置完成时的动作

    表示在这个用户关键字执行完成之后会执行什么关键字。比如写上Close All Browsers。在这里也可以处理返回值

ReturnValue:返回值

    写法同arguments类似。

Timeout:超时时间

   单位默认分钟。超过设置时间则关键字失败。

 

以上是关于怎么样导入RobotFramework 自定义关键字的主要内容,如果未能解决你的问题,请参考以下文章

怎么样导入RobotFramework 自定义关键字

机器人框架添加关键字

使用 Jython 在 Robot Framework 中使用自定义 Java 关键字/库

robotframework用户关键字创建过程

Robot Framework自定义测试库的作用域的理解

robotframework - User key 操作