2017-07-31 4 views
0

私の自動ログインが正常に行われたかどうかを確認するために、セレンをチェックしようとしています。私のアプリは複数のログインタイプをサポートしているので、私はよく使われるid要素(logoutとsignOut)とキーワード(logout/signout)を使ってログインが成功したかどうかを判断しています。セレンのロード中のすべてのページからgetPageSource

ほとんどの場合、ロジックは動作しますが、アプリはログアウトボタンと実際のページソースコード(例:dashboard.html)を持つ2つの異なるページindex.htmlを持っています。

getPageSourceにseleniumドライバを使用すると、ダッシュボードのソースコードが取得されるため、ソースコードにlogoutキーワードが含まれていないため、テストケースが失敗します。

URLが読み込まれたときにすべてのページのHTMLソースコードを取得するにはどうすればよいですか?

答えて

0

一般的に、現在のアプリケーション状態を定義するソースコードを分析することは間違ったアプローチです:アプリケーションの動作を変更できるJS、Ajaxスクリプト、CSS /その他のコード&ブラウザページのレンダリングがあります。

WebDriverチームは、ユーザーが実際に見ているページUIをテストすることを目指しています。したがって、WebDriverテストは、ブラウザに存在する要素をテストし、さまざまな要素の技術を見つけることに頼るべきです。

あなたのケースでは、explicit waitsの使用でLogout/LogInボタンを見つけるには、要素idのxpathを使用することをお勧めします。ページソースで作業しないでください - ページ上の要素で作業してください。

関連する問題