51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1739|回复: 1
打印 上一主题 下一主题

Robot Framework: 自定义自己的python库

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-13 14:38:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
利用Robot Framework编写测试用例,往往需要开发自己的关键字,有的关键字需要通过自己编写python代码
来实现。这在rf中,就需要自己定义python库。这个过程其实不复杂,本文来介绍下。

1、在python安装目录下的 Lib\site-packages 目录下 新建一个目录,目录名就是库名,如 NewLibrary

2、在新建的NewLibrary目录下创建一个python文件,任何合法的文件名即可,扩展名为py。如:myclass.py

其内容如下

复制代码
  1. class MyClass(object):
  2.     def __init__(self):
  3.         pass

  4.     def printMsg(self,msg):
  5.         print "hello "+msg
复制代码

复制代码
上面代码定义了一个python类,其中除构造方法 _init_ 外,还定义了一个printMsg方法,该方法其实就是rf中
的关键字,可以直接在rf中使用。下面我们介绍。

3、在新建的NewLibrary目录下创建 __init__.py 文件,文件名必须固定这样。该文件的功能,就是把关键字类
暴露出来,让rf能知道。
其内容如下:

from myclass import MyClass

class NewLibrary(MyClass):
    ROBOT_LIBRARY_SCOPE = 'GLOBAL'
4、通过前面三个步骤,一个最简单的自定义的NewLibrary库就创建好了,在rf工具中就可以使用了
1)先要导入 NewLibrary 库

2)使用关键字printMsg。需要说明的是,在rf中引用时,既可以写成 printMsg,也可写成 print msg。一般
习惯用空格把单词分开。因为rf关键字不区分大小写。

*** Test Cases ***
successsd
    print msg    god
    printMsg    ss
    printmsg    yy
5、增加新的关键字
增加新的关键字很简单,只需在MyClass类中增加新的方法即可。如:

复制代码
  1. class MyClass(object):
  2.     def __init__(self):
  3.         pass

  4.     def printMsg(self,msg):
  5.         print "hello "+msg
  6.         
  7.     def join_info(self,a,b):
  8.         print a+b
复制代码

复制代码
这里定义了 join_info方法。在rf中使用时,可以写成 join  info 用空格分开。

上面介绍了最简单的自定义模块,虽然简单,但实际可以满足大部分自己开发的需求了。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-18 00:38 , Processed in 0.062752 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表