2017-05-10 8 views
1

Robotフレームワークでページに要素が存在するかどうかに関する情報を得る方法はありますか?要素の存在に応じてロボットのキーワードを実行する

要素がページに存在する場合、または要素が存在しない場合は、別のアクションを実行したいと思います。

Seleniumでは、私はfindElements()を使用し、要素のリストを返します。何も見つからない場合は空のリストを返します。私はGet webelementsを使用して、何も、エラーでテスト休憩を発見されなかった場合、ロボットで

は、しかし、:

ValueError: Element locator 'id=asdf' did not match any elements. 

答えて

4

アプローチはブール値を取得することで、ページ内の要素である:

${present}= Run Keyword And Return Status Page Should Contain Element ${your_locator} 

Run Keyword If ${present} The keyword(s) if present 
        ... ELSE  The keyword(s) if NOT present 

代わりの:

、およびその値に基づいて流量を制御します210 Element Should Be Visibleを使用することができます。

+1

私は「要素が見えるようにする」ことを期待していましたが、それは魅力的です!どうもありがとう! – zorglub76

+0

要素が存在しない場合には失敗するという意味で「中断」しますが、それは 'Run Keyword If'のためのものです - [呼び出されたキーワードの正常な合格/不合格の状態を抑制し、ブーリアン](http://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Run%20Keyword%20And%20Return%20Status) - それを使用する予定のフロー用です。 – Todor

+0

ああ、それはそれをクリアします。もともと、私は変数を 'Get webelements'に設定し、この変数がこれであればキーワードを実行します。 – zorglub76

関連する問題