在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...