0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【環境構築】社内Proxy環境上でRobotframework_導入編

Posted at

1.はじめに

・Proxy環境の社内でRobotframeworkを導入しようとした際にうまくいかないことが多かったので、
備忘録目的で手順をまとめました。
・内容が長くなる為、「導入編」と「カスタマイズ編」で二部構成にしています。

2.各種基本情報

2.1.各種Ver.

No. 項目 Ver. 備考
1 Windows10 OS -- 作業用ホストPCのOS
2 VirtualBox 6.1 システムを構築する仮想環境
3 Ubuntu 18 18.04 仮想マシーンのOS
4 Pyenv 1.2.21
5 Python 3 3.9.0
6 Pip 3 20.3.1
7 Selenium 3.141.0
8 Robotframework 3.2.2
9 Robotframework-seleniumlibrary 4.5.0
10 Pyautogui 0.9.52
11 Google Chrome 87.0.4280.141
12 Chrome Driver 87.0.4280.88

2.2.設定情報一覧

項番 項目 設定値 備考
A-1 Proxy ホスト名 proxy.example.co.jp ※あくまで例です(環境に合わせて変更してください)
A-2 Proxy ポート番号 8088 ※あくまで例です(環境に合わせて変更してください)
A-3 Proxy ユーザ名 myname ※あくまで例です(環境に合わせて変更してください)
A-4 Proxy パスワード mypassword ※あくまで例です(環境に合わせて変更してください)
B-1 Ubuntu Root パスワード adminpassword ※あくまで例です(環境に合わせて変更してください)
C-1 Ubuntu ユーザ名 ubuntu ※あくまで例です(環境に合わせて変更してください)
C-2 Ubuntu ユーザパスワード ubupassword ※あくまで例です(環境に合わせて変更してください)

3.環境構築作業

3.1.前提

・Windows10上にVirtualBoxがインストール済みであること
・VirtualBox上にUbuntu18.04が設置済みであること(「Server World」参照)

3.2.作業手順

(1)Rootユーザのパスワード設定
(2)UbuntuのProxy設定
(3)Gitの設定
(4)Pyenvの設定
(5)ChromeDriverの設定
(6)Robotframeworkの動作検証

3.3.構築作業

3.3.1.Rootユーザのパスワード設定

・Terminalを起動し下記コマンドを実行する

$ sudo passwd root
[sudo] password for ubuntu : ubupassword
Enter new UNIX password : adminpassword
Retype new UNIX password : adminpassword
passwd : password updated successfully

3.3.2.UbuntuのProxy設定

3.3.2.1.ネットワーク設定

① Ubuntu GUI 画面上部「▼」を押下
② メニューの「設定」を押下(画像左下アイコン)
3.3.1.1_02.PNG

③ メニューの「ネットワーク」を押下(画像左下から3つ目)
3.3.1.1_03.PNG

④ 「ネットワークプロキシ(⚙)」アイコンを押下
3.3.1.1_04.PNG

⑤ HTTP、HTTPS プロキシのフォームに設定を入力する
3.3.1.1_05.PNG

3.3.2.2.bashrcの設定
$ echo 'export ftp_proxy="ftp://myname:mypassword@proxy.example.co.jp:8088/"' >> ~/.bashrc
$ echo 'export http_proxy="http://myname:mypassword@proxy.example.co.jp:8088/"' >> ~/.bashrc
$ echo 'export https_proxy="http://myname:mypassword@proxy.example.co.jp:8088/"' >> ~/.bashrc
$ source ~/.bashrc

※パスワードに「@」を含む場合は、「%40」に適宜置き換える(例:P@ss ⇒ P%40ss)

3.3.2.3.aptconfの設定
$ echo Acquire::http::proxy \"http://myname:mypassword@proxy.example.co.jp:8088/\"\; > /etc/apt/apt.conf.d/apt.conf
$ echo Acquire::https::proxy \"http://myname:mypassword@proxy.example.co.jp:8088/\"\; >> /etc/apt/apt.conf.d/apt.conf
$ echo Acquire::ftp::proxy \"http://myname:mypassword@proxy.example.co.jp:8088/\"\; >> /etc/apt/apt.conf.d/apt.conf
$ sudo apt -y update
$ sudo apt -y upgrade

※パスワードに「@」を含む場合は、「%40」に適宜置き換える(例:P@ss ⇒ P%40ss)

3.3.3.Gitの設定

$ sudo apt -y install git
$ gitconfig --global http.proxy http://myname:mypassword@proxy.example.co.jp:8088
$ gitconfig --global https.proxy http://myname:mypassword@proxy.example.co.jp:8088

※パスワードに「@」を含む場合は、「%40」に適宜置き換える(例:P@ss ⇒ P%40ss)

3.3.4.Pyenvの設定

3.3.4.1.Pyenvインストール
$ sudo apt -y install build-essential libffi-dev libssl-dev zlib1g-dev liblzma-dev libbz2-dev libreadline-dev libsqlite3-dev
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
$ echo 'eval "$(pyenv init -)"' >> ~/.profile
$ source ~/.profile
3.3.4.2.Pythonインストール

・インストールするPythonのVer.で作業を行うフォルダ(work)を作成
・作業フォルダ以下の環境のみPython3.9.0にする

$ pyenv versions
$ pyenv install 3.9.0
$ mkdir ~/work
$ cd ~/work
$ pyenv versions
$ pyenv local 3.9.0
$ pyenv version
$ python -m pip install --upgrade pip
$ python -m pip install robotframework==3.2.2
$ python -m pip install robotframework-seleniumlibrary==4.5.0
$ python -m pip install pyautogui==0.9.52
$ pip freeze

3.3.5.ChromeDriver設定

・GoogleChromeを使ったテストを想定

3.3.5.1.GoogleCromeインストール

①任意のブラウザを使い https://www.google.com/intl/ja_jp/chrome/ にアクセス
3.3.5.1_01.PNG

②64ビット .deb(Debian/Ubuntu 用)を選択
③「同意してインストール」を押下
3.3.5.1_02.PNG

④ポップアップ「google-chrome-stable_current_amd64.debを開く」表示
⑤「ファイルを保存する」を選択し、「OK」を押下
3.3.5.1_04.PNG

⑥「google-chrome-stable」が起動するので、「インストール」を押下
3.3.5.1_06.PNG

⑦確認がポップアップ表示される
⑧パスワードを入力し実行
3.3.5.1_07.PNG

⑨インストールが完了したらポップアップを閉じる
⑩Terminalを起動し下記コマンドを実行
⑪表示されたバージョンを確認する
3.3.5.1_10.PNG

3.3.5.2.ChromeDriverインストール

①任意のブラウザを使い http://chromedriver.chromium.org/downloads/ にアクセス
②事前に確認したGoogleChromeのバージョンの頭二桁と同一のDriverを選択
(例:Current Releases > ChromeDriver 87.0.4280.88)
3.3.5.2_01.PNG

③「chromedriver_linux64.zip」リンクを押下
3.3.5.2_03_2.PNG

④Terminalを起動し「ダウンロード」フォルダへ移動
3.3.5.2_04_2.PNG

⑤ZIPファイルを解凍し /bin/ 直下に配置
3.3.5.2_05.PNG

3.3.5.3.GoogleDrive動作検証

・下記操作でブラウザが起動しグーグルのトップ画面が表示されれば成功

$ cd ~/work
$ python
>>> from selenium import webdriver
>>> drv = webdriver.Chrome()
>>> drv.get('https://www.google.com/')
>>>

3.3.6.Robotframework動作検証

①「work」フォルダ内に移動し検証用のファイル(test.robot)を生成

$ cd ~/work
$ nano test.robot

②下記内容を記述し保存

test.robot
*** Settings ***
Library         Seleniumlibrary

*** Variables ***
${LOGIN URL}    https://www.google.co.jp/
${BROWSER}      Chrome

*** Test Cases ***
正規ログイン
    ブラウザを起動しGoogleを表示する
    [Teardown]  Close Browser

*** Keywords ***
ブラウザを起動しGoogleを表示する
    Open Browser    ${LOGIN URL}  ${BROWSER}
    Title Should Be  Google

③robotコマンド実行

$ python -m robot test.robot

4.2_02.PNG

④生成された「report.html」をgoogle-chromeコマンドで実行
4.2_04.PNG

4.2_05.PNG

4.まとめ

以上、Proxy環境下でのRobotoframeworkの基本設定でした。

私の環境で詰まったのは、Proxyパスワード部分に「@」を含む構成にしていた為、
うまく認証が通らずなかった部分でした。

次回「カスタマイズ編」では、Proxy認証が必要な環境でRobotframeworkを実行した際に
ブラウザ起動毎に求められるID/Password認証を自動化する為の手順をまとめます。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?