RobotFramewor自定义Python库

最近在看RF代码,接触到自定义的python库的用法,记录于此:

>>>>>>>>>>>>>>>>>>>>>>

1. 网上常用的方法

2. 直接在RF中引用python文件

3. 代码中使用import library关键字引用python文件

4. 结果展示

5. RF 与 Selenium交互

>>>>>>>>>>>>>>>>>>>>>>

 

1. 网上常用的方法

    1)在python安装目录下的Lib\site-packages新建目录< mylib >作为自定义python库的目录

    2)在<mylib>文件夹下创建python文件<myclass.py>,定义 <myclass> 类,并定义相应的方法

import time

class MyClass(object):
    def __init__(self):
        pass

    def au_get_time(self):
        return time.localtime()

    3)在<mylib>文件夹下创建python文件<__init__.py>,用来作为RF的引用入口

from myclass import MyClass

class mylib(MyClass):
    ROBOT_LIBRARY_SCOPE = 'GLOBAL'

    4)在RF中引用

          * 使用Eclipse时,配置red.xml,这样就可以像BIF一样进行使用

<referencedLibrary type="PYTHON" name="mylib" path="c:/Python27/lib/mylib"/>

          * 直接在library中引用,使用 绝对路径 或 相对路径

Library           <path>/mylib

    5)直接在代码中调用 au_get_time方法

    ${t}    au_get_time
    log    ${t}

2. 直接在RF中引用python文件

    1)创建自定义库的python文件 <myfile>

    2)在<myfile>中定义方法所要用的方法 au_get_time 

import time

def au_get_time():
    return time.localtime()

    3)引用,参考 1, 4)

    4)直接在代码中调用 au_get_time方法,参考 1, 5)

3. 代码中使用import library关键字引用python文件

    1)创建自定义库的python文件 <myfile>

    2)在<myfile>中定义方法所要用的方法  au_get_time

    3)引用

    Import Library    <path>/myfile.py

    4)直接在代码中调用 au_get_time,参考 1, 5)

4. 结果展示

INFO : ${t} = time.struct_time(tm_year=2018, tm_mon=8, tm_mday=19, tm_hour=16, tm_min=15, tm_sec=15, tm_wday=6, tm_yday=231, tm_isdst=0)
INFO : time.struct_time(tm_year=2018, tm_mon=8, tm_mday=19, tm_hour=16, tm_min=15, tm_sec=15, tm_wday=6, tm_yday=231, tm_isdst=0)

5. RF 与 Selenium交互

    RF可以直接引用Selenium2Library使用selenium所提供的库,但一些common方法,如actionchain无法直接使用,因此就需要扩展自定义类库,以实现对Selenium所有方法的引用

    1)获取当前Selenium对像实例

s2l = BuiltIn().get_library_instance('Selenium2Library')

    2)获取当前Browser对像,以实例化selenium方法对像

s2l._current_browser()

    3)通过实例化的selenium方法对像调用对像所拥有的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值