2017-09-25 5 views
0

すべて実行されるロボットフレームワークテストスイートがあります。Robot Frameworkを使用してクロスブラウザテストを行うことができます

私はパボットとセレングリッドで動作しているので、並列テストはすべて良いです。

私の質問は、ブラウザごとに同じスクリプトを手動で実行したり、ブラウザごとにテストスイートを複製することなく、複数のブラウザに対してテストスイートを実行できますか? "Resource.txt"ファイルを使用して、グリッドノードが設定されているブラウザをインスタンス化するようテストに指示します。

たとえば、TestNGプロジェクト(POMメソッドの使用)では、 "if"および "else"メソッドを使用して、セレニウムグリッドノードが設定されているブラウザを使用するようテストに指示します。

のPython 2.7 RF 3.0.2 グリッド3.5

答えて

1

これを行うための一般的な方法は、ブラウザの名前を保持する変数を使用して、コマンドラインから

を変数を設定することです

robot --variable BROWSER:firefox ... 
-or- 
robot --variable BROWSER:chrome ... 
0:コマンドラインから

open browser ${ROOT_URL} ${BROWSER} 

:あなたのテストケースで

コマンドラインで変数を設定する代わりに、実行時条件に基づいて変数の値を動的に設定するvariable fileをテストで使用することもできます。

+0

これは、別のコマンドライン入力なしで行うことができますか?たとえば、変数として設定されたすべてのブラウザで、ノード設定に一致するようにブラウザを選択しますか? – Richard

+0

@リチャード:もちろん。セットアップキーワードを呼び出すために、すべてのテストを変更する必要があります。このセットアップキーワードは、任意の操作を実行できます。または、何らかの条件に基づいて変数を動的に設定する変数ファイルを使用します。 –

+0

理想的には、私がテストスクリプトで呼び出せる、あなたが提案する可変ファイルメソッドを使用したいと思います。しかし、キーワードライブラリを使ってこれをどうやって行うのか分かりません。 TestNGなどのように "if"と "else"を使うことができますか?あるいは私が使用したいブラウザをインスタンス化するリソースファイルを持っていますか?現在のところ、私のスクリプトには変数 '$ {BROWSER} chrome'とキーワード "Open Browser $ {LOGIN URL} $ {BROWSER}なし$ {SERVER}"(サーバーはグリッド) – Richard

関連する問題