之前看到Robot Framework支持很多库,也支持自定义库,也在网上找了代码调试,总是不成功,不知道是否和版本有关,后面我自己进行了修改,编写步骤如下:
1.在python应用程序包目录下创建一个新包:C:\Python27\Lib\site-packages\NewLibrary 【只需要建一个文件夹即可】
这里注意文件夹NewLibrary就是你包的名称,这里顺便说一下包的概念,python区分包和普通文件夹就在于文件夹里是否有一个__init__.py的文件,NewLibrary这个包就是之后RF Library要导入的名称
2.创建一个类文件,用来存储你自定义函数的,这里写了个myclass.py的文件(这个名子可以自定义),为啥我用这个名字,因为我也是从网上拷贝过来的
3.分别编辑myclass.py与__init__.py的内容
__init__.py内容
#coding=utf-8 from . import myclass class NewLibrary(myclass.MyClass): ROBOT_LIBRARY_SCOPE = \'GLOBAL\' #设置RF选项
myclass.py内容:
class MyClass(object): def __init__(self): pass def printMsg(self, msg): print("hello " + msg) def add_a_b(self,a,b): return a + b
这里解释下:from . import myclass 是说从当前文件夹中导入myclass文件,而NewLibrary需要一个类,而正好有一个MyClass类,正好可以继承,哈哈 也是看网上是这么写的
MyClass类有两个方法,当然也可以定义其他方法
完成后,在RF中加载NewLibrary库
如果是红色,则需要查看 Tool下的View RIDE Log,看看具体的问题,再进行排查
导入后,就需要添加测试用例,这里谢了3个测试用例
第一个就是调用MyClass类中的printMsg方法
第二个是调用add_a_b方法,输入两个参数,由于RF从前端传进的都是字符,如果要输入数字,则需要用${num}填入
第三个还是调用add_a_b方法,这个时候就输入两个字符
运行结果如下