『私のRobotFramework本』1-4テストキット、Test Suite

3927 ワード

テストキット、Test Suite


著者:虞科敏
テストケース=>Test File=>ディレクトリで組織

Test Case Files


1つのファイルの使用例数の推奨<10;使用例数が多すぎる場合は、データ駆動を考慮することを推奨します.
使用例ファイルは、ファイルで定義された使用例を含むテストキットを自動的に作成します.TestSuite

Test Suite Dirctories


test case filesはディレクトリとして組織され、これらのディレクトリはより高度なsuiteを形成する.
ディレクトリから作成されたtest suiteには直接的なテスト・インスタンス(Test Cases)はありませんが、他のテスト・インスタンス付きsuiteを含めることができます.
これらのディレクトリはまた、他のディレクトリに配置され、より高度なsuiteを形成することができる.含まれる階層の深さには特に制限はありません.
テストディレクトリが実行されると、そのファイルとディレクトリは次のように再帰的に処理されます.
  • 以"."と""開始ファイルとディレクトリはスキップされました
  • ディレクトリ名CVS(大文字と小文字が敏感)がスキップされた
  • 拡張子不正(有効拡張子:.html,.html,.html,.html,.html,.html,.tmt,.tsv,.txt,.rst,or.rest)のファイルは
  • スキップされた.
  • 他のファイルとディレクトリが処理されるTips:ファイルまたはディレクトリにテスト用例Test Caseが含まれていない場合、静かにスキップされます.警告が必要な場合は、コマンドラインで--warnonskippedfiles
  • を使用できます.

    ファイルの初期化


    ディレクトリ作成Suiteは、Suite初期化ファイルに格納されたTest Case Fileで作成されたsuiteと同様の設定を持つことができます.書式:_init__.ext(Pythonerたちはよく知っているのではないでしょうか.RFはpythonの命名方法を借りていますが、pythonの__init_.pyとは少し違います)合法的です.ext:
  • .html, .htm and .xhtml for HTML
  • .tsv for TSV
  • .txt and special .robot for plain text
  • .rst and .rest for reStructuredText

  • Test Case Tableを持つことができなくて、Settingの内容は一定の制限がある以外、_init__.extとtest case fileの構造と文法は一致している.
    で_init__で作成または導入された変数VariablesとキーワードKeywordsは、そのサブsuiteには使用できません.これらの変数とキーワードを共有する必要がある場合は、resource fileを使用することを考慮する必要があります.init__test case fileと同時に使用します.
    __init__.extの主な用途はtest case fileで行ったようなsuite関連設定を指定することである.他のcase関連の設定もここで行うことができます.
  • Documentation,Metadata,Suite Setup,Suite Teardown:test case file部分
  • 参照
  • Force Tags:このディレクトリの下にあるすべての使用例(直接または再帰的)ラベル
  • を無条件に指定する.
  • Test Setup,Test Teardown,Test Timeout:このディレクトリのすべての使用例(直接または再帰的)を指定し、より低いレベルの定義で
  • を上書きすることができます.
  • Default Tags,Test Template:サポートしていません!!!

  • サンプル
    Settings  Documentation Example suite Suite Setup Do Something ${MESSAGE} Force Tags example Library SomeLibrary
    Variables  ${MESSAGE} Hello, world!
    Keywords  Do Something
    [Arguments] ${args} Some Keyword ${arg} Another Keyword

    カスタマイズTest Suite


    名前


    Suite Nameは、テストファイル名またはディレクトリ名から作成されます.例を参考にして理解して、複雑ではありません:some_tests.html => suite name: Some Tests My_test_directory => suite name: My test directory
    接頭辞(pre_,下線2個)を追加して実行順序を指定できますが、接頭辞はsuite nameに含まれません.01__sometests.txt => suite name: Some Tests 02\_more_tests.txt=>suite name:More Tests Some TestsはMore Testsより前に実行される
    コマンドラインオプション--name、top-level suiteのname定義を上書きできます

    ドキュメント


    Settings TableでDocumentation設定を使用できます:test case file、または高度なsuiteの_init__ファイル
    コマンドラインオプション--top-level suiteのdocumentation定義を上書きできるdoc
    サンプル
    Settings  Documentation An example test suite documentation with some formatting. ... See test documentation for more documentation examples.

    メタデータ


    他のメタデータは、Setting TableでMetadataで設定できます.このように定義されたメタデータは、テストレポートとログに表示されます.
    コマンドラインオプション--metadata、top-level suiteのmetadata定義を上書きできます
    Settings  Metadata Version 2.0 Metadata More Info For more information about Robot Framework seehttp://robotframework.org Metadata Executed At ${HOST}

    Suite SetupとSuite Teardown


    テスト固定子Fixture:setupとteardownの意味は、他のテストフレームワークとあまり違いません.多くの場合、Tese Caseのfixtureと差が少なく、Test Caseの関連章を参考にすることができます.キーワードを1つだけ使うのもおすすめです
    suite setupが失敗した場合、suiteの下のすべてのテスト例とそのサブsuiteは失敗とマークされ、実行されません.したがってsuite setupは、満たさなければならない前提条件をチェックするのに適しています.
    suite teardownはtest case teardownと類似しており、continue on failureモードも満たしている.suite teardownが失敗すると、suiteの下のすべての使用例は、以前の使用例の実行結果にかかわらず失敗としてマークされる.
    setupまたはteardownとして実行されるキーワード名は、変数Varialbeとすることができる.
     :  , setup teardown