2012-11-20 8 views
6

当社のエクストラネットのいくつかでテストカバーを取得する必要があります。私たちはphantom.js/casper.jsを使用しています。テストワークフローの残りの部分と統合するのが最も簡単だったからです。Casper.jsでHTTPからHTTPSへのトンネリングをテストするには?

トンネリング経由でHTTPからHTTPSに移行しようとすると問題が発生します。ユーザーがhttp // www.somecompany.comのWebサイトにアクセスし、ログインリンクをクリックした場合、ブラウザはhttps // extranet.somecompany.comにリダイレクトされます。 HTMLソースを見ると、ユーザーがリダイレクトされたフォームに正しく対応するHTMLが表示されます。

しかし、casper.jsを使用してワークフローを再作成しようとすると、ログインリンクでclickイベントが正常に開始されます。次に、リダイレクトが成功したことを確認するフォーム要素を特定しようとしましたが、このテストは失敗します。次に、リダイレクト後に次のステップを変更して、ページをキャプチャしてキャスパーが「見えるもの」を確認しました。イメージを開くと、HTMLは決してリダイレクトされていないかのように見えます。 Fiddlerのトラフィックがポート443に設定されていることがわかるため、リダイレクトが機能していることがわかりました。

私はSO、google、およびCasper Googleグループを検索しましたが、 HTTPからHTTPSへ、このようなワークフローを自動化するCasper/Phantomですか、それともSeleniumのようなものを見なければなりませんか?

+2

は、コマンドラインに '--ignore-SSL-エラー= yes'を渡して試してみました? – NiKo

答えて

0

リダイレクトは、PhantomJS 1.9.8でそのまま使用できます。不明な点は、使用してデバッグして自由に感じる場合:

page.onResourceRequested = function(request) { 
    console.log('Request ' + JSON.stringify(request, undefined, 4)); 
}; 
page.onResourceReceived = function(response) { 
    console.log('Response ' + JSON.stringify(response, undefined, 4)); 
}; 
のようにあなたの最初の応答STHに表示されるはず

"redirectURL": "https//extranet.somecompany.com", 
関連する問題