2017-02-01 17 views
1

私は、SeleniumとJavaを使っていくつかの自動テストを書いています。URLでphantomjsで認証

私はニーズ認証にアクセスしようとしているページは、chromeDriverのために私はそうのようなURLにユーザー名とパスワードを渡します。これは、正常に動作しますが、PhantomJSで、私は得ることができません

http://USERNAME:[email protected]

私はちょうど約で終わる認証するページ:空白

私はphantomJSドライバ・インスタンスの希望capabiltiesにこれを追加しようとしましたが、それはまだ動作しません:

desiredCapabilities.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, new String[] {"--web-security=false", "--ignore-ssl-errors=true", "--ssl-protocol=any", "--proxy-auth=USERNAME:PASSWORD"}); 

PhantomJSでこれを動作させる方法を教えてもらえますか?特殊文字が含まれないパスワードを問題にした場合

(@)は

ANSWERは::: 私は解決策を自分自身を発見しましたが、私はこれに走る他の誰のためにここにこれを残します問題。

ChromeDriveでは、URLのUSERNAME:PASSWORD @ DOMAINには正常に機能しましたが、PhantomJSでは動作しませんでしたが、PhantomJSの機能に--proxy-authを設定する方法が異なりましたが、認証画面。

ユーザー名とパスワードのURLを入力すると簡単でした。パスワードの一部である@記号をエンコードするだけでしたので、@ 40%に変更してChromeDriverとPhantomJSでうまく動作します。

chromeDriverはURLを解析してドメインの開始点を確認しますが、GhostDriverは最初の@を探して、それ以降はすべてドメインとみなしてください。

+0

回答を回答として投稿し、それを受け入れる必要があります。この方法で問題が解決されたと表示され、後でその人に役立ちます。 – Vaviloff

+0

ありがとう@Vaviloff私は答えを追加しましたが、明日まで受け入れることはできません。 – MisterMan

答えて

2

ANSWER :::

私は解決策を自分自身を発見しましたが、私はこの問題に遭遇し、誰のためにここにこれを残します。

ChromeDriveでは、URLのUSERNAME:PASSWORD @ DOMAINには正常に機能しましたが、PhantomJSでは動作しませんでしたが、PhantomJSの機能に--proxy-authを設定する方法が異なりましたが、認証画面。

ユーザー名とパスワードのURLを入力すると簡単でした。パスワードの一部である@記号をエンコードするだけでしたので、@ 40%に変更してChromeDriverとPhantomJSでうまく動作します。

chromeDriverはURLを解析してドメインの開始点を確認しますが、GhostDriverは最初の@を探して、それ以降はすべてドメインとみなしてください。