私は SeleniumIDE にいますが、javascript を呼び出しています。
これは、他の人にとってもかなり一般的なシナリオのようです。
優れたテスト スイートがありますが、最初に行うことはログインです。
ログアウトしていることを確認し、そうでない場合はログアウトすることからスイートを開始したいと思います。「ログアウト」ハイパーリンクの存在によって、ログインしているかどうかを確認できます
しかし、現在ログインしている場合にのみログアウトをクリックしたいのですが、それ以外の場合は何もしたくありません。まだログインしていない場合、存在しない要素をクリックしようとするとエラーが発生するためです)
したがって、論理的には次のようになります。
if ui element(logout link in my case) exists
click on logout link
else
do nothing
end
私は Selenium IDE を使用して javascript を呼び出しています -if then
基本的な seleniumIDE では実行できないため、javascript 自体でこれを実行できることを望んでいました。
何かのようなもの:
store javascript{if ([a with text 'Logout' exists]) then click on it end;} id1
の代わりにclick on it [this]
、次の URL にアクセスしただけでも問題ありません (より脆弱ですが)。
http://my-apps-domain/users/sign_out
しかし、正確な構文はわかりません。
関連する HTML は次のとおりです。
<li><a href="/users/sign_out">Logout</a></li>
存在する場合は、aをクリックします(またはURLに直接アクセスします)。それ以外の場合は何もしません。
可能であれば、jquery 以外のソリューションを見つけたいと思います。
更新: javascript{window.location.replace('http://google.com') }
seleniumIDE ウィンドウを閉じて google に置き換えても、テスト自体が実行されている実際のウィンドウには影響しないことがわかりました。