RobotFramewor自定義Python庫

2021-08-25 02:33:34 字數 2011 閱讀 7371

最近在看rf**,接觸到自定義的python庫的用法,記錄於此:

1. 網上常用的方法

2. 直接在rf中引用python檔案

3. **中使用import library關鍵字引用python檔案

4. 結果展示

5. rf 與 selenium互動

1. 網上常用的方法

1)在python安裝目錄下的lib\site-packages新建目錄< mylib >作為自定義python庫的目錄

2)在資料夾下建立python檔案,定義 類,並定義相應的方法

import time

class myclass(object):

def __init__(self):

pass

def au_get_time(self):

return time.localtime()

3)在資料夾下建立python檔案<__init__.py>,用來作為rf的引用入口

from myclass import myclass

class mylib(myclass):

robot_library_scope = 'global'

4)在rf中引用

* 使用eclipse時,配置red.xml,這樣就可以像bif一樣進行使用

* 直接在library中引用,使用 絕對路徑 或 相對路徑

library           /mylib
5)直接在**中呼叫 au_get_time方法

$    au_get_time

log $

2. 直接在rf中引用python檔案

1)建立自定義庫的python檔案

2)在中定義方法所要用的方法 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檔案

2)在中定義方法所要用的方法  au_get_time

3)引用

import library    /myfile.py
4)直接在**中呼叫 au_get_time,參考 1, 5)

4. 結果展示

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)

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方法對像呼叫對像所擁有的方法

win10 搭建robotframework 環境

1.python環境 我選擇的是python2.7.13版 64位 安裝完成後,新增環境變數。c python27 scripts 和 c python27 python安裝成功。2.安裝robotfrmework 第一種方式 安裝成功後,使用 pybot version能看到版本即成功安裝了。第二...

自定義 如何自定義協議

何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...

自定義控制項 自定義鐘錶

private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...