ポップアップウィンドウが表示されるのは、Fire Foxブラウザを使用している場合のみですが、この問題を解決する方法はありますか?ブラウザとしてFFを使用するたびに、ユーザーID/パスワードを入力する必要があります。
現在、私はテストを実行するたびに入力しています。これは非常に苦痛ですが、より自動化することを目指しています。
私はゴーグルして、こことここに2つのリンクを見つけましたが、役に立ちません
ポップアップウィンドウが表示されるのは、Fire Foxブラウザを使用している場合のみですが、この問題を解決する方法はありますか?ブラウザとしてFFを使用するたびに、ユーザーID/パスワードを入力する必要があります。
現在、私はテストを実行するたびに入力しています。これは非常に苦痛ですが、より自動化することを目指しています。
私はゴーグルして、こことここに2つのリンクを見つけましたが、役に立ちません
http://username:password@xyz.com
これは私のために働きました(xyz.comはサイト名です)
これがWindowsユーザーアカウントとパスワードの場合は、設定して統合Windowsログインを有効にする必要があります
network.negotiate-auth.delegation-uris: MyIISServer.domain.com
network.automatic-ntlm-auth.trusted-uris: MyIISServer.domain.com
network.automatic-ntlm-auth.allow-proxies: True
network.negotiate-auth.allow-proxies: True
WebDriverが起動するFirefoxプロファイル。プロファイルを作成して保存したら(他のインスタンスが実行されていないときに「Firefox-P」を実行してプロファイルを選択します)、コードでこれを行うことができます。
File profileDir = new File("C:/wherever/SeleniumFirefoxProfile");
FirefoxProfile profile = new FirefoxProfile(profileDir);
profile.setEnableNativeEvents(true);
driver = new FirefoxDriver(profile);
何時間も読んだ後、私はついにかなりうまくいく解決策を見つけました、そしてこれが他の人にも役立つことを願っています。- 楽しみ!!
まず、次の手順に従います。
1) Open the FireFox browser
2) Type the following `about:config`
3) Look for `network.http.phishy-userpass-length` if you don't find then create a new Integer key
Create a new Integer key (right-click->New->Integer): `network.http.phishy-userpass-length` with value `255`
2番目:次のFirefoxドライバーを作成する必要があります。
FirefoxProfile profile = new FirefoxProfile();
profile.SetPreference("network.http.phishy-userpass-length", 255);
profile.SetPreference("network.automatic-ntlm-auth.trusted-uris", "YOUR HOST ADDRESS HERE");
_driver = new FirefoxDriver(profile);
ご不明な点がございましたらお知らせください。
私はこれらを数回処理する必要がありましたが、私のアプローチはSeleniumの外部のスクリプトを使用しています。Windowsで作業していますか?
基本的にあなたがすることはこれです:
1)ページをロードする前に、そのダイアログが表示されるURLなどをクリックします。
-- Launch an asynchronous script to handle the login
2)次に、ページをロードし、リンクをクリックします。
-- Selenium will block until your asynch script completes
非同期スクリプト:
-- Sleep for a few seconds
-- Activate the dialog
-- Send the username
-- Send a TAB
-- Send the password
-- Send a TAB
-- Send the Enter Key
Windowsで作業している場合は、これを処理するためのサンプルスクリプトを投稿できます。私はJavaとC#でそれを行いましたが、テストの作成方法に関係なく、基本的に同じことが機能すると思います(FFプラグインを厳密に使用している場合を除きます。この場合、これは機能しません)。
詳細が必要な場合はお知らせください。
FFプラグイン「autoauth」を使用できます。このプラグインをダウンロードし、次の方法でFirefoxインスタンスを作成します。
FirefoxProfile firefoxProfile = new ProfilesIni().getProfile("default");
File pluginAutoAuth = new File("D:\\autoauth-2.1-fx+fn.xpi");
firefoxProfile.addExtension(pluginAutoAuth);
driver = new FirefoxDriver(firefoxProfile);
「autoauth-2.1-fx+fn.xpi」を使用しました