Robotframework中自定义库的加载及注意事项
1.自定义库的文件名必须与库的类名相同 如:文件名为HttpAutoLib.py则其类名必须为HttpAutoLib
class HttpAutoLib(object): def __init__(self): self.Http = E_Http('./config/http_conf.ini') self.MyHttp = My_Http('./config/http_conf.ini') self.Global = Global()2.由于自定义库时,RF会自动实例库中的类,所以自定义看中无法使用相对路径寻找及创建文件 如:下面两种方式均无法正常找到对应的目录
log_file = os.path.join(os.getcwd(),"log//%s"%(file_name))path = ./log3.通过logging和PRint输出的日志均会打印到RF的log中
4.自定义库或第三方库,可按如图的1、2、3的步骤加载
5.第三方库加载成功后,可通过快捷键F5查看对应的接口名、参数、及备注信息
6.若自定义的库加载为红色,可通过Tools->View RIDE Log->查看对应的错误日志,将自定义库做修改后,可在RF中删除库重新加载或重启RF,RF将重新加载编译库文件,当库名变为黑色时,即加载库成功
7.步骤5)图中的描述信息,需按照如下的编写格式书写
def post(self,path,para,data,cookie): '''发送post请求,返回回复的报文 Issues a HTTP POST request,parameter should be a python dict,data is post entity, this method return a string object. :param path: :param para: :param data: :param cookie: :return:Examples: | ${res} | POST | /foo/bar.do | {'foo': '1','bar': '2'} | {"foo": {"bar": [1,2,3]}} | cookie | | ${res} | POST | /foo/bar.do | {'foo': '1','bar': '2'} | None | cookie | ''' return self.Http.post(path,para,data,cookie)8.RF中的用例是否执行成功的判别机制为是否存在异常,故在库编写时若需让用例执行的结果为失败,可使用raise抛出异常
9.通过RF的RIDE直接读取的数据均为Unicode的utf-8编码格式
新闻热点
疑难解答