会社のエクストラネットのいくつかでテスト カバレッジを取得する必要があります。残りのテスト ワークフローと統合するのが最も簡単だったので、phantom.js/casper.js を使用しています。
この問題は、トンネリングを介して HTTP から HTTPS に移行しようとすると発生します。ユーザーが http://www.somecompany.com の Web サイトにアクセスしてログイン リンクをクリックすると、ブラウザは https://extranet.somecompany.com にリダイレクトされます。HTML ソースを見ると、ユーザーがリダイレクトされたフォームに正しく対応する HTML が表示されます。
ただし、casper.js でワークフローを再作成しようとすると、ログイン リンクでクリック イベントが正常に開始されます。次に、リダイレクトが成功したことを確認するためにフォーム要素を特定しようとしましたが、このテストは失敗しました。次に、リダイレクト後の次のステップを変更して、ページのキャプチャを行い、キャスパーが「見ている」ものを確認しました。画像を開くと、リダイレクトされたことがないかのように HTML が表示されます。ポート 443 へのトンネルが確立されていることを示す Fiddler のトラフィックが表示されるため、リダイレクトが機能していることがわかります。
SO、Google、および Casper Google グループを検索しましたが、HTTP から HTTPS へのリダイレクトに関してはあまり見つかりません。Casper/Phantom はこのようなワークフローを自動化できますか、それとも Selenium のようなものを見る必要がありますか?