RF03 自定義庫

2021-08-19 20:20:17 字數 2257 閱讀 3151

在rf中,如果使用py檔案自定義庫、或者使用py檔案定義變數,在settings中匯入這個自定義庫和變數檔案時。匯入檔案的絕對路徑不能包含中文下面這種導包方式是錯誤的:

*** settings ***

variables ../測試資料/testdatas-1.py

# 由於rf是python編碼的,所以需要定義編碼格式

name=u"滾滾"

*** settings ***

variables ../測試資料/testdatas-1.py

*** test cases ***

引入py檔案變數

builtin.log $

絕對路徑不能包含中文

將自定義類庫需要整合到測試指令碼中,不要直接移植到scriptd資料夾下,方便指令碼移植到不同的測試環境中

自定義第三方庫**:

#coding=utf-8

class

extlib

(object):

''' 定義了乙個自己的外部庫

'''robot_library_scope = "global"

robot_library_version = 1.0

def__init__

(self):

pass

defkeyword

(self):

''' 定義了自己的關鍵字

'''pass

匯入第三方庫**:

*** settings ***

library library/extlib.py

自定義庫類中注釋的作用:

參考rf自帶庫datetime(c:\python27\lib\site-packages\robot\libraries\datetime.py)的方式,將想要定義成關鍵字的函式使用_all_=[「函式名稱」, …]來指定哪些函式是你想要被rf識別的。

__all__ = ['convert_time', 'convert_date', 'subtract_date_from_date',

'subtract_time_from_date', 'subtract_time_from_time',

'add_time_to_time', 'add_time_to_date', 'get_current_date']

# -*- coding: utf-8 -*-

import os

__version__ = version

class

( _loggingkeywords,

_runonfailurekeywords,

_elementkeywords,

_screenshotkeywords,

_waitingkeywords,

_touchkeywords,

_keyeventkeywords,

_androidutilskeywords,

): robot_library_scope = 'global'

robot_library_version = version

def__init__

(self, timeout=5, run_on_failure='capture page screenshot'):

base.__init__(self)

self.register_keyword_to_run_on_failure(run_on_failure)

RF引入自定義庫

小白一枚,在此記錄,方便自己回顧。1 在python安裝目錄下的 lib site packages 目錄下新建乙個目錄,目錄名就是庫名,如我建立的testloginlibrary資料夾 2 在新建的testloginlibrary目錄下建立乙個python檔案,擴充套件名為py。如 ctlogin...

RF(自定義關鍵字)

1 在 d work software python lib site packages 資料夾下,新建 python package 包 例如我的是 testlibrary 2 在 d work software python lib site packages testlibrary 資料夾下檢...

自定義控制項 day03

在res values下面新建attrs.xml屬性檔案 如上面的xml檔案第一部分是公共的屬性,第二部分是自定義控制項mycustomview的主題樣式,該主題樣式裡的屬性必須包含在公共屬性裡面。言外之意就是公共屬性可以被多個自定義控制項主題樣式使用。package com.example.myt...