LoginSignup
0
3

More than 3 years have passed since last update.

プロキシ環境下でSelenium(Chrome)を使う

Last updated at Posted at 2020-02-10

社内からseleniumを使った自動テストをやろうとしたら、プロキシのユーザー認証で殺された。

それをなんとか突破しようというお話。

※ 社内ルールを破ることを推奨してるわけではないです。。。。ルールの範囲内で適切に行動しましょう。。。

※ この方法を試すときは、自己責任でお願いします。。。

0. 環境

・OS:Windows 10
・社内からインターネットへのアクセスは社内プロキシ経由。
・プロキシの認証はユーザー名とパスワードを入力するやつ。
・プロキシはPACファイルで設定されている。

1. 頑張った結果

結論から言うと、プロキシを突破して自動テストができました。

使ったのは、Proxomitron。

こいつをインストールしていろいろ設定すると、プロキシ認証を肩代わりしてくれる。んで、ブラウザにアクセスしても認証ダイアログが出なくなる。

2. プロクソのインストール

以下のサイトが日本語で情報をまとめてくれてるっぽい。

かなり古いので、使っててなんか起こっても正直文句言えないなぁ。。。。

でも気にせずダウンロードして、インストール。

デフォルト設定のままインストールしていく。デスクトップにショートカットができる。

Windows 10でも動作するようだ。

3. プロクソの設定

まず「Proxy」をクリックして、プロキシのアドレスとポート番号を入力する。「Add」は選択しなくてOKです。

右クリックして「Advanced Proxy setting」的なやつを選択。

「Send username and password to proxy」にチェックを入れて、プロキシ認証で使用するユーザー名とパスワードを入力。

次に、最初の画面に戻って「Config」を選択。「HTTP」のタブを選択して、ポート番号に適当な番号を選択。(マジでテキトーでいい。テキトーに30000番台とかでいいんじゃないですかね)

※ ここで指定したポート番号を、IEのプロキシの番号に使用します。

最後に、最初の画面で「Use Remote Proxy」にチェックを入れます。

これでプロクソの設定はOK。

ちなみに、プロキシのアドレスはChromeとかにアクセスしたときに出る「XXXが認証を要求しています」的なメッセージのうち、アドレスっぽいものを取り出して指定したらうまくいった。。。。

ここらへんはよくわかんない。。。。たまたまうまくいったとしかいえない。。。。僕プロキシってよく知らないし。。。

あと、Testはいまいち信用できないので別にやらなくていいと思います。僕の環境では、プロクソのテストは失敗してたけど、自動テストは普通に動作しました。

4. IEの設定

IEのブラウザを立ち上げて、右上のほうにある歯車のアイコンを選択して

「インターネットオプション」→「接続」→ 「LANの設定」→ 「LANにプロキシサーバーを使用する」にチェック。

アドレスは「localhost」、ポートはさっきプロクソで設定した番号。

※ 自動構成のチェックは、たぶん外したほうがいいかと。。。。よくわからないけど、僕は外した。。。

これでOKですね。

Chromeでテキトーなページにアクセスして、認証ダイアログが出なかったらOKです。

5. 油断してはいけない

Windowsのファイアウォールで動作が妨害されることがあります。

もし動かなかったら、プロクソをファイアウォールで許可してあげてください・・・・

※ すでに許可している場合はもうわかりません。ごめんなさい。

6. 最後に

認証突破したくていろんなサイト探したけど、あんまりピンとくるものが載ってなかったというか、試してもうまくいかないのがほとんどでしたね。

特に、コードでプロキシの設定をする類のやつ。。。。

ぼく、C#なんだけど、Pythonとかばかりで全然わからないし、PythonのコードをC#に直して実行してみてもうまくいかないし、それはそもそもC#に直せてないのか、コード自体が動かないのかも検証できないし。。。。

でも、これからはプロキシ環境下でも自由にテスト自動化が試せそうで、嬉しいです。

まあXPathとか勉強して、使いこなせるようにならないといけないんだけどね。。。。

あとはデザインパターンの勉強・・・?

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3