robot framework自定义python库

自定义python库的好处:

robot framework填表式,将python的灵活性弄没了,但是不要担心,RF早就想到了解决办法,就是扩充自己的库.

1.在python应用程序包目录下创建一个新包:D:\Python27\Lib\site-packages\NewLibrary    

   这里注意文件夹NewLibrary就是你包的名称,这里顺便说一下包的概念,python区分包和普通文件夹就在于文件夹里是否有一个__init__.py的文件

回到正题

NewLibrary这个包就是之后RF Library要导入的名称

2.创建一个类文件,用来存储你自定义函数的,这里写了个myclass.py的文件(这个名子可以自定义)

3.分别编辑myclass.py与__init__.py的内容

__init__.py内容:

from myclass import MyClass #从myclass.py导入类名为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

复制代码

以上写完,打开RF

看一下关键字里,是不是已经有了我们定义的类文件中的函数

在RF中调用我们自定义的函数

另外:输入部分函数名如:print按ctrl+alt+space(空格键),会调出提示

原文 https://www.cnblogs.com/yhleng/p/8857059.html

问题总结  以下自己遇到的一些问题的debug 

1、尽量在文件的开头加上:# -- coding: utf-8 --   

因为python默认编码是ascii,所以如果代码中有(),或中文等等符号,会报错,提示编码不正确

2、如果写的代码里边有中文,尽量在文件开头加上以下3行代码

import  sys 

reload(sys)  

sys.setdefaultencoding("utf-8")

3、如果在初始化函数中,定义了形参。则必须在导入库的时候,也要提供对应的参数。 不然会提示少给了变量的报错。

def __init__(self,a,b):pass

4、修改代码后,及时把对应的.pyc文件删除并且重启下robotframework 后,再导入。

5、如果还是有其他的报错,请点击Tools→View RIDE log ,查看并debug。

发布了13 篇原创文章 · 获赞 2 · 访问量 2606

自定义python库的好处:

猜你喜欢

转载自blog.csdn.net/a10703060237/article/details/101767987