はじめに
robotframeworkで辞書の使い方を調べる必要がなりました。
個人的に公式ドキュメントってどうも読みづらくちょっと手こずりました。
そういう事もあり、今回はrobotframeworkで辞書の使い方について自分なりにわかりやすくシンプルにまとめてみました。
辞書の使い方の例
robotframeworkの辞書とは
そもそもRobot Frameworkの辞書(というよりプログラムでの辞書そのもの)ですが、辞書はキーと値のペアを保存するのに使用されます。
辞書[キー]を指定することで辞書[値]を得ることが出来ます。
用途としてはリストと同じく複数の値を持たせる事が出来ます。
リストとの違いは、辞書は
・順番を気にする必要がない事
・キーで値が取れる事
ですね。
使い方の例
実際の使い方を見るとわかりやすいかと思います。
次がrobotframeworkで辞書の使い方の例です。
辞書の作成〜追加〜削除までの一連の動作となっています。
*** Settings ***
Library Collections
*** Test Cases ***
Dictionary Test
# 辞書の作成
${dict}= Create Dictionary name=Taro age=30 country=Japan
Log to Console ${dict}
# 辞書から値を取り出す
${name}= Get From Dictionary ${dict} name
${age}= Get From Dictionary ${dict} age
Log to Console ${name}
Log to Console ${age}
# 辞書に値を追加する
${dict}= Set To Dictionary ${dict} occupation=Engineer
Log to Console ${dict}
# 辞書から値を削除する
${dict}= Remove From Dictionary ${dict} country
Log to Console ${dict}
これを実行すると
==============================================================================
Test Dic
==============================================================================
Dictionary Test .{'name': 'Taro', 'age': '30', 'country': 'Japan'}
...Taro
.30
..{'name': 'Taro', 'age': '30', 'country': 'Japan', 'occupation': 'Engineer'}
Dictionary Test .None
Dictionary Test | PASS |
------------------------------------------------------------------------------
Test Dic | PASS |
1 test, 1 passed, 0 failed
==============================================================================
となります。
解説・補足
上記のテストケースでは、
まず 7行目でCreate Dictionary
を用いて辞書を作成しています。
次に11行目で Get From Dictionary
を用いて値を取得し、ログに出力しています。
その後、17行目でSet To Dictionary
を使って辞書に新たなエントリ(occupation:職業
)を追加し、21行目のRemove From Dictionary
を使って辞書からエントリ(country:国籍
)を削除しています。
なお、これらの操作はすべて Robot Framework のビルトインの Collections
ライブラリを使っているのでこれらのキーワードを使用するためには、Collectionsを追加する必要があります。
用途など
Robotframeworkで辞書を使う用途ですが
- テストデータの管理
- APIのレスポンスの解析:
などがあります。
1に関しては辞書はキーと値のペアを管理するので、例えば、ユーザーの属性(名前、年齢、メールアドレスなど)を管理するのに使うと便利です。
これはサンプルプログラムでイメージが掴めると思います。
2に関してはAPIのレスポンスがJSON形式である場合、これを辞書に変換して各フィールドにアクセスすることができます。
最近ではAPIを使うことが多いのでこちらの使い方も便利と思います。
(Jsonは改行などである程度は見やすいとはいえ、データ量などが多いので対象箇所を探すのが大変です)
さいごに
ということで今回はRobotframeworkの辞書の使い方でした。
やっぱりPythonを使っていると辞書の宣言や追加削除の文法が違和感がありますね。
こればっかりは慣れですが、僕自身何度も文法を忘れるので備忘録として今回残してみました。
この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。