(1)首先在..\Python37\Lib\site-packages目录下创建CustomLibrary目录,用于放自定义的library库。在其下面创建runbat.py 文件:实现一个输入目录名称,输出该目录下的所有目录及文件的路径:
__version__ = '0.1'
from robot.api import logger
import os
class Runbat(object):
def output_all_file(self,path):
for dirpath, dirnames, filenames in os.walk(path):
print('文件夹路径', dirpath)
for filename in filenames:
print('文件路径', os.path.join(dirpath,filename))
def __execute_sql(self, path):
logger.debug("Executing : %s" % path)
print(path)
def decode(self,customerstr):
return customerstr.decode('utf-8')
if __name__ == "__main__":
path = u'D:\\navy\\robotframework学习'
run = Runbat()
run.output_all_file(path)
注意在output_all_file(self,path)方法下面加上清晰的注释,最好给个实例。这样在robot framework 的帮助中能看到这些信息,便于使用者理解这个关键字的使用。
(2)对于创建普通的python模块来说这样已经ok了。但要想在robot framework启动后加载这个关键字,还需要在CustomLibrary目录下创建__init__.py文件,并且它不是空的。
from .runbat import Runbat #注意导入要加.代表当前目录
__version__ = '0.1'
class CustomLibrary(Runbat): #这个类的名字要和site-packages新建的保持一致
ROBOT_LIBRARY_SCOPE = 'GLOBAL' #以上3行代码就可以了
(3)导入测试集中
F5中可以找到相应的方法:
(4)测试一下:
运行结果:
2、直接使用python脚本中的方法:
1)如果写的python脚本没有定义类名,直接写方法:
mouse_1.py:
在robotframwork中使用:
直接通过Library导入
2)如果写的python脚本定义了类名:
注意:脚本名和类名一定要保持一致,不然通过Library导入的时候会一直显示红色,并且调用不成功;
如上图这样导入以后就可以直接在robotframwork的脚本中使用Operate_excelfile.py中定义的方法了