ロボットフレームワークで条件付きでいくつかのキーワードを実行する必要がありますが、それを行う方法はわかりません。私は多くのオプションを試してみましたが、私は完全に間違って「IF-ELSE」ステートメントを持っていると思います。..変数割り当てを使用したロボットフレームワークの場合
Choose Particular Filter ${FILTER} And Uncheck All Values
${bool}= is filter opened ${AVAILABLE FILTERS} ${FILTER}
${uncheck_all_button}= run keyword if "${bool}" == "True" uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
... click element ${uncheck_all_button}
... ELSE
... Set variable ${particular_filter}: find particular filter ${AVAILABLE FILTERS} ${FILTER}
... click element ${particular_filter}
... Set variable ${uncheck_all_button}: uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
... click element ${uncheck_all_button}
それはで失敗します。Variable '${particular_filter}' not found.
しかし、私はそれを実行する場合にはそれも$ので、ELSEブランチに行くべきではありません{bool}はTrueです... 私のカスタム関数is filter opened
は、フィルタがすでに開いているかどうかをチェックします。もしそうなら、Trueを返します。 私のカスタム機能uncheck all in filter
は "すべてチェックを外す"ボタンのXPATHを返すだけです。 私のカスタム関数find particular filter
は "フィルタドロップダウン"ボタンのXPATHを返します。 このキーワード全体で、フィルタのドロップダウンが既に開いているかどうかを確認する必要があります。その場合は、直接${uncheck_all_button}
をクリックする必要があります。フィルタのドロップダウンがまだ開いていない場合は、まずフィルタ自体をクリックしてください。${particular_filter}
私も012でそれを試してみました
run keyword if "${bool}" == "True" ${uncheck_all_button}= uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
:
${uncheck_all_button}= run keyword if "${bool}" == "True" Set Variable uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
またはこの:その後、私はまた、次のように持っている「ランキーワード」ラインを試してみました${uncheck_all_button}
をクリックすることができますと${bool} == True
しかし、何が本当に機能していない、まだ同じエラー:(
は、任意の助けをありがとうございました!
流れ: は、私はちょうどそれが作業するためにいくつかの小さな変更をしなければなりませんでしたTo Console $ {bool} "を実行して、保持している値を確認し、条件を追加します。 – Waman
確かに、それは私がやった最初のことでした - 私が書いたように、値はTrueです。だからなぜそれが他のブランチに行くのか分かりません。 – neliCZka