0

データ駆動型 Robot Framework テストでのテンプレート キーワードの使用に精通しており、テキスト ファイルや csv ファイルなどの外部データ ソースを使用してテスト データを提供できることも知っています。しかし、私が勤務する組織では、データベースに保持されているデータをテスト ケース データのソースとして使用したいと考えています。これが可能かどうか誰にもわかりますか?Stack Exchange、Stack Overflow、およびその他のリソースを検索しましたが、回答や例が見つかりません。

これは、私がよく知っているデータ駆動型アプローチの例であり、現在の状況を理解していただくためのものです。

*** Settings ***
Library           Selenium2Library
Library           AFRCLibrary
| Test Template | Suspend Region

*** Variables ***


*** Test Cases ***
| Pillar 1 BPS 2019 Suspend Region | Pillar 1 | 2019 | BPS | BPS Region 1 | Pillar 1 BPS 2019 Suspend Region Comments |
| Pillar 2 FGS 2018 Suspend Region | Pillar 2 | 2018 | FGS | FGS Region 1 | Pillar 2 FGS 2018 Suspend Region Comments |

*** Keywords ***
| Suspend Region
| | [Arguments] | ${pillar} | ${year} | ${scheme} | ${region} | ${comments} |
| | Futures Open Application | http://ags125p01:8080/operationalsite/login | ff |
| | FuturesPublicsiteWM | root | gtn | http://ags125p01:8080/operationalsite/futures/maintain_budget |
| | Select Pillar | ${pillar} | ${year} |
| | Select Scheme | ${scheme} |
| | View |
| | Suspend And Confirm | ${region} | ${comments} |
| | Futures Close Application |
| |
4

1 に答える 1

1

残念ながら、テスト テンプレートを使用するには、多かれ少なかれ、データをテスト ケースにハードコーディングする必要があります。ただし、テスト テンプレートは for ループのラッパーにすぎません。次のようなことができます。

| | ${database_rows}= | Run sql query
| | ... | Select * from the_database where ...
| | 
| | :FOR | ${row} | IN | @{database_rows}
| | | Suspend Region | @{row}

もちろん、これには「Run sql query」キーワードまたは同等のキーワードを記述してデータを取得する必要があります。

これの欠点は、すべての順列が複数のキーワードを持つ単一のテスト ケースと見なされるのに対し、単一のキーワードを持つ複数のテスト ケースと見なされることです。

データベースの行ごとに 1 つのテスト ケースが必要な場合は、クエリを実行し、クエリの結果を使用してテスト スイート ファイルを生成し、生成されたファイルに対して pybot を実行するスクリプトを作成できます。

于 2014-08-08T14:59:25.847 に答える