Robot Framework自定义测试库导入方法 -- Robot Framework

1 测试库放在python的site-packages 路径下

一般我们自己写的测试库会放在 python的site-packages 路径下,其他第三方库自动安装的也都在这个目录中,这样在导入库的时候,会自动识别。

在python安装目录下的 Lib\site-packages 目录下 新建一个目录,目录名就是库名,如 NewLibrary
在新建的NewLibrary目录下创建一个python文件,任何合法的文件名即可,扩展名为py。如:myclass.py
其内容如下

class MyClass(object):
    def __init__(self):
        pass
 
    def printMsg(self,msg):
        print "hello "+msg

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

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

from myclass import MyClass

class NewLibrary(MyClass):
    ROBOT_LIBRARY_SCOPE = 'GLOBAL'

通过前面三个步骤,一个最简单的自定义的NewLibrary库就创建好了,在rf工具中就可以使用了
先要导入 NewLibrary 库
使用关键字printMsg。需要说明的是,在rf中引用时,既可以写成 printMsg,也可写成 print msg。一般习惯用空格把单词分开。因为rf关键字不区分大小写。

*** Test Cases ***
successsd
    print msg    god
    printMsg    ss
    printmsg    yy

增加新的关键字
增加新的关键字很简单,只需在MyClass类中增加新的方法即可。如:

class MyClass(object):
    def __init__(self):
        pass
 
    def printMsg(self,msg):
        print "hello "+msg
        
    def join_info(self,a,b):
        print a+b

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

2. 把自定义的库放在项目的Library目录

第一种方法有个不好的地方,就是库与项目目录分离,若我想把自定义的库放在项目的Library目录中,直接Import就会报failed,找不到这个库。

找官方文档,里面给出了具体原因:
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#module-search-path
python有个模块搜索路径,可以自己sys.path看下:
在这里插入图片描述

如图,可以看到,里面包含了site-packages路径,所以在这个目录下的库是在python的模块搜索路径下的。

所以,后面的思路就明确了,把自己项目的路径添加到python的模块搜索路径下,具体有几种方法可以实现:

命令添加path路径

import sys
sys.path.append(r'/CODE/robotlib/')  # 这里append函数里的字符串就是你写的库文件的路径

在site-packages目录下面新建一个.pth 文件(以pth作为后缀名) ,将模块的路径写进去,可以发现,有些第三方库也有这个.pth文件,可以作为参考。
添加后,再次sys.path看下:在这里插入图片描述
自定义的目录已经在python的模块搜索路径下了
请确保库的文件名和CLASS名一致,这样 import 库名的时候,可以省略.py后缀

注意,这里还有个问题,如果我的库文件不在模块搜索路径下,是在该路径的子路径下面,那其实直接import还是会搜索不到,这时加上相对路径即可

Library               base_library/Tools.py  #加路径后,需加上.py后缀
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值