我想在每次測試之前/之後運行某種鉤子機制。 例如,我想運行關鍵字,如果我將ARGUMENT=1
傳遞給每個測試的pybot或python,而不是修改項目中的整個測試。全局測試鉤子或全局測試拆解機器人框架中的每個測試
可能嗎?
類似的方法,你可以創建一個之前或之後的鉤子與黃瓜框架,但在這裏。我還不明白。
謝謝。
我想在每次測試之前/之後運行某種鉤子機制。 例如,我想運行關鍵字,如果我將ARGUMENT=1
傳遞給每個測試的pybot或python,而不是修改項目中的整個測試。全局測試鉤子或全局測試拆解機器人框架中的每個測試
可能嗎?
類似的方法,你可以創建一個之前或之後的鉤子與黃瓜框架,但在這裏。我還不明白。
謝謝。
我找到了答案由我自己。 您應該創建新的偵聽器以用於測試掛鉤。
關於機器人的聽衆: Robot Framework Listener Interface
# -*- coding: utf-8 -*-
from robot.libraries.BuiltIn import BuiltIn
class global_hooks(object):
"""
Global scope library listener
as global hook mechanism.
"""
ROBOT_LISTENER_API_VERSION = 3
ROBOT_LIBRARY_SCOPE = "GLOBAL"
def __init__(self):
self.ROBOT_LIBRARY_LISTENER = self
def __log_variables(self):
"""
Example private function.
"""
if BuiltIn().get_variable_value(name='${SOME_VAR}', default=False):
BuiltIn().run_keyword(name=self.log_test_variables.__name__)
def end_test(self, data, result):
""" The `end test` hook """
self.__log_variables()
def log_test_variables(self):
"""
Keyword for showing up all variables in the test context.
"""
BuiltIn().log_variables(level='INFO')
我猜你正在尋找: Suite setup and Suite teardown
或許套件安裝的Test setup and Test teardown
例子:
*** Settings ***
Library DatabaseLibrary
Force Tags UI FINAL
Resource ${CURDIR}${/}..${/}..${/}resources${/}keywords.robot
Suite setup Run Keywords Restore database
... Prepare database
Suite teardown Run Keywords Close All Browsers
... Restore database
*** Keywords ***
Prepare database
Connect to DB
Execute Sql Script ${CURDIR}${/}Setup_td.sql
Disconnect From Database
Restore database
Connect to DB
Execute Sql Script ${CURDIR}${/}Teardown_td.sql
Disconnect From Database
謝謝您的時間,@michel。在你的回答中:我應該在每個測試套件中寫下這個拆解。我不想這樣做。我用偵聽器接口來實現這個目標。 –