Pythonでブラウザを自動操作してみよう
価格: ¥0
[概要]
テスト自動化ツールの1つにSeleniumというものがあります。自動でブラウザを操作することができるツールで、Webアプリケーションのテスト自動化のツールとして世界中で広く使われています。本書ではSelenium WebDriverを使ってブラウザの自動操作を実施します。自動操作を行うブラウザはMozilla FirefoxとGoogle Chromeを使用します。
Seleniumは大変便利なツールなのですが、少し学習したらすぐに使いこなせるような簡単なツールではありません。使いこなせるようになるには練習が必要ですが、Seleniumの練習のために実際に運用しているサイトを利用するのは望ましくありません。
そこで、本書ではPC上の仮想マシンにWordPressで作られたサイトを構築して、そのサイトの自動操作を行っています。自分だけの環境なので思う存分Seleniumの練習を行うことができます。
[想定する読者]
Pythonのプログラミング経験がある方で、Webアプリケーションのテスト自動化に興味がある方を想定しています。
本書では作業環境としてLinux(Ubuntu)を使用していますので、Linuxでの開発経験が無い方はLinuxがどのようなものかを事前に把握された上で本書をお読みいただくと理解が早いと思います。
[本書の構成]
Chapter1ではブラウザの自動操作を行うために必要となる知識を学習します。
Chapter2ではブラウザの自動操作を行うための環境を準備します。
Chapter3では自動操作の練習としてデモサイトの自動操作を行います。
Chapter4では自動操作の実践としてWordPressで構築されたサイトの自動操作を行います。
Chapter5ではSelenium WebDriverとテストフレームワークを連携してWebアプリケーションの自動テストを行います。
Chapter6では「Selenium WebDriverを使って自動操作を本格的に始めてみよう!」という方は事前に知っておいた方が良いだろう、と私が思うことをいくつか述べたいと思います。
[実行環境]
Windowsマシンの中の仮想マシンでUbuntuを動かし、そのUbuntu上にWordPressで構築されたサイトを準備し、Selenium WebDriverを使って自動操作を実施します。
■使用しているソフトウェアのバージョン
Ubuntu 16.04.3 LTS
(ubuntu-16.04.3-desktop-amd64.isoを使用)
Mozilla Firefox 57.0.1 (Ubuntuのバージョンアップを実施)
Mozilla GeckoDriver 0.19.1
Google Chrome 63.0.3239.108
Google Chrome Driver 2.33
WordPress 4.9.1
WooCommerce 3.2.6
WooCommerce For Japan 1.2.18
Python 2.7.12
Selenium Client 3.8.0
[目次]
はじめに
想定する読者
本書の構成
実行環境
Chapter1 Selenium WebDriver基礎
1-1 Selenium概要
1-1-1 Selemiun IDEとは
1-1-2 Selenium WebDriverとは
1-1-3 Selenium Gridとは
1-2 自動操作のメソッド
1-3 操作対象要素の調査方法
1-3-1 Mozilla Firefox上での要素の調査
1-3-2 Google Chrome上での要素の調査
1-4 操作対象要素の特定方法
1-4-1 Locatorの種類
1-4-2 id属性/name属性/リンクテキストによる要素の特定
1-4-3 xpathによる要素の特定
1-4-4 xpathの確認方法
Chapter2 自動操作環境の構築
2-1 ブラウザとドライバの準備
2-1-1 Mozilla Firefoxの準備
2-1-2 Google Chromeの準備
2-2 JsonWireProtocolを使ったブラウザ操作
2-2-1 Mozilla Firefoxの操作
2-2-2 Google Chromeの操作
2-3 Selenium Clientの準備
2-4 Google Searchの自動操作コードの実行
Chapter3 自動操作練習
3-1 事前準備(デモサイトの準備)
3-2 操作対象要素の調査と自動操作コードの作成
3-3 自動操作コードの完成と実行
Chapter4 自動操作実践
4-1 事前準備(WordPressの準備)
4-1-1 WordPressとは
4-1-2 WordPressのインストール
4-1-3 WooCommerceプラグインのインストール
4-1-4 WooCommerce for Japanプラグインのインストール
4-2 ブログの記事投稿
4-2-1 記事投稿操作の流れ
4-2-2 操作対象要素の調査と自動操作コードの作成
4-2-3 自動操作コードの完成と実行
4-3 ECサイトの商品登録
4-3-1 商品登録操作の流れ
4-3-2 操作対象要素の調査と自動操作コードの作成
4-3-3 自動操作コードの完成と実行
4-4 ECサイトの商品購入
4-4-1 商品購入操作の流れ
4-4-2 操作対象要素の調査と自動操作コードの作成
4-4-3 自動操作コードの完成と実行
Chapter5 テストフレームワークとの連携
5-1 unittestとは
5-2 Google検索のテスト
5-3 WordPressのログインテスト
Chapter6 Selenium WebDriverを使う上での注意事項
6-1 Selenium関連のソフトウェアの変化
6-2 ブラウザ間の挙動の違い
6-2-1 デフォルトウィンドウサイズの違い
6-2-2 スクロール有無の違い
6-2-3 処理タイミングの違い
6-3 プログラミング言語間の実装差分
6-3-1 ExpectedCondition
6-3-2 Node.jsは非同期
6-3-3 スクリーンショットの撮り方
付録
付録A:VirtualBoxについて
付録B:Ubuntuについて