2016-04-29 7 views
2

各テストの前または後に何らかのフックメカニズムを実行したい。 例えば、私がARGUMENT=1をpybotやPythonに渡した場合、キーワードを実行したいと思います。ロボットフレームワークの各テストのグローバルテストフックまたはグローバルテストティアダウン

可能ですか?

同様に、キュウリフレームワークで作業する前または後フックを作成することもできますが、ここではこれを行うことができます。私はまだ理解していない。

ありがとうございました。

答えて

1

私は自分で答えを見つけました。 テストフックに使用する新しいリスナーを作成する必要があります。ロボットリスナーについて

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') 
2

私はあなたが探していると思います: Suite setup and Suite teardown

それともSuiteセットアップの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 
+0

は、お時間を@michelをいただきありがとうございます。あなたの答え:私は各テストスイートにこのティアダウンを書くべきです。私はこれをしたくありません。この目標を達成するためにリスナー・インターフェースを使用しました。 –