2017-08-14 7 views
0

テストのためにWebページにログインしようとするとWatirとSeleniumがNTLM認証に問題があることを理解します。私の研究は、2つの正常な仕事があることを示しました。 1. URLに認証情報を追加します。2.自動認証プラグイン/拡張機能を使用します。私は現在自分の環境でエクステンションを使用するオプションを持っていませんが、私はそれに取り組んでいます。だから、私は資格を渡すと残されています。テストを自動化するためにWatir/Seleniumを使用する場合、NTLM authをバイパスします。

問題は次のとおりです。

Chrome: Chromeでは、資格情報を手動で(ブラウザに直接入力すると)http://password:[email protected]/として渡しますが、ページは開きますが、ポップアップは表示されません。私が手動でhttp://example.com?username=usr&password=passwordとしてそれを渡そうとすると、authポップアップがポピュレートされますが、続行されません。

次のコードを使って自動化しようとすると、ユーザー名とパスワードが不明です。私は、usrとpwdが正しいことを納得しました。

browser.goto( "http://example.com?login=usr&password=password ") browser.goto(" http://password:[email protected]/")

IE IEビット動作が異なります。 IEでは資格情報を手動でhttp://password:[email protected]/として渡し、ページが見つからないというエラーを返します。私が手動でそれをhttp://example.com?username=usr&password=passwordとして渡そうとすると、正しくログインします。

次のコードを使用してrubyを使用して自動化しようとすると、最初の例ではページをスローするとエラーが見つかりません。 2番目の例では、ページを開きますが、ポップアップは表示されません。 usrとpwdが正しいことを確認しました。

browser.goto( "http://example.com?login=usr&password=password ") browser.goto(" http://password:[email protected]/")

私が間違って何をしているのですか?

私の環境では、Windows 7 Proは、IE 11とChrome 60

は、MSがURLに認証を取り除い示し記事を見つけました。ですから、pwd:usr @は動作しません。文書番号:834489

+0

IEについてはわかりませんが、chrome v59 +ではサブリソースリクエストに埋め込み資格情報のサポートが削除されました。例:https://stackoverflow.com/questions/44658869/stylesheets-not-applied-in-chrome/44660004#44660004 – orde

+0

返信いただきありがとうございます。 IEは同じことをしばらく取り除いた。私はまだこれを処理する方法を見ていない。 – Haendler

答えて

1

私は答えを見つけました。私の会社のシニアアーキテクトと話し合った後、設計によってNTLM Windows認証フォームにアクセスする方法はありません。文字通り、セキュリティ手段としてそのように自動化できないように設計されています。

認証の問題に対処する方法として提案した回避策の1つは、C#(標準)のようなものを使用し、ユーザーが既にログインしているという前提でブラウザを開くことです。権限のポップアップで問題がレンダリングされます。私はこれをどうやって行うのかがはっきりしていませんが、これが他の人にとって有益な方向を提供することを願っています。

関連する問題