2016-09-20 10 views
0

私は、Robot Frameworkを使用した一連の自動テストを行っています。多くの繰り返しに気付き始めています。現時点では、テストはテスト中のページ(ホームページ、ログインページ)によって構成されています。ロボットテストスイートをDRYにするにはどうすればいいですか?

私が気づいている不確かさは、いくつかのテストが2つの異なるテストスイートで繰り返されるということです。設定が異なるだけです。一方、私が行ったリファクタリングでは、キーワード自体がテストケースであるように感じます。私はちょうどこれを行うためのより標準的な練習方法があるかどうかを知りたい。

私は、以下の簡単な例をリストアップしました:

common.robot

... 
*** Keywords *** 
User logs in 
    # login logic here 
... 

home_page.robot

... 
*** Test Cases *** 
Verify user login 
    User logs in 
... 

other_page.robot

... 
*** Test Cases *** 
Verify user login 
    User logs in 
... 

答えて

1

したい場合テストキーを共有する言葉は、あなたは多くのレベルでそれを行うことができます。

  1. したがって、resource.txtファイルを定義して、すべての共通キーワードをそこに置き、さまざまなテストのために呼び出すことができます。
  2. 異なるパラメータでキーワードを再利用するだけで、1つの親テストを行うことができます。
  3. また、リストを介してパラメータを入力し、Forループ内で同じキーワードを呼び出すこともできます。

あなたのテストスイートの構造をどのように整理するかという大きな懸念について、それは多く議論されているトピックであり、単一の答えで十分ではないと言われています。あなたは、このトピック(Link)に関するPekkaの著作を見ることができます。 テストフレームワーク設計は、コード設計と同様の「芸術形式」です。

+0

ああ、ポイント2で詳しく説明できますか?テストファイルはその親テストをどのように呼び出すでしょうか? – Steals

+0

したがって、これを達成する最善の方法は次のとおりです。まず、可能な限り多くのキーワードを一般化します。したがって、あなたの例では、キーワードの一部としてページリンクを渡すことになります。次に、親のテストでアクセスできるように、共通のファイル/場所にキーワードを保存します。最後に、 'キーワードを実行する'、 'キーワードを実行してステータスを返す'、キーワードを実行してエラーを無視するなど、robotframeworkの組み込みライブラリの 'meta'キーワードキーワードを使用してテストを作成してください。 – Dandekar

+0

3番目のステップで失われた。私は親ファイルに "User logged in"というテストケースを入れます。 Run Keywordを使って別のファイルからテストを呼び出すことができますか?テストケースをキーワードのように呼び出すことはできますか? – Steals

関連する問題