えっ、まだ人力でやってるの? Webアプリのテスト自動化で使われる「Selenium」とは
Webアプリの画面テストに用いられるSeleniumというツールをご存知ですか。Seleniumはブラウザ上のテスト自動化が可能なツール群のこと。人力作業の反復テストは、実は自動化できるかも。テスト自動化ツールSeleniumを解説します。
社内のブラウザテストはSeleniumで自動化できる
政府主導による『働き方改革』が推し進められるなか、残業時間の削減など、本格的に業務生産性の向上に取り組む企業が増えてきています。業務を効率化するには「無駄なことはしない」「可能な業務は自動化(仕組み化)する」というのがポイント。では、普段の業務を自動化させてくれるツールには、どのようなものがあるでしょうか。
反復作業を自動化させてくれるツールのひとつにSeleniumがあります。Seleniumは導入することで、Webアプリケーションの画面テスト自動化を実現可能。「定期的に行なう画面テストを自動化させたい」「エンジニアのリソースをもっと有効活用させたい」。そんな現場担当者向けに、Seleniumの概要をまとめました。
Seleniumの概要について
Seleniumは、Webベースアプリケーションのテスト自動化の高速開発をサポートした堅牢なツール群です。Seleniumは、Webアプリケーションのテストニーズに特化したテスト機能を豊富に備えています。テスト操作の柔軟性は高く、UI要素を特定したり、テストの期待値と実際のアプリケーションの動作を比較したりするための多数のオプションを利用できます。1つのテストを多数のブラウザプラットフォームで実行できる点は、Seleniumの優れた特徴のひとつです。
Seleniumの日本語版リファレンスを見てみると、上記のように解説されています。主に、Webアプリケーション開発の現場で、画面(ブラウザ)のテスト自動化に使用されるのがSeleniumです。
テスト自動化の他にも、HTML / CSSの要素取得や操作などが自動で行なえる点から、大量のデータ登録など単純業務の自動化や、Webスクレイピングの場面でも使用されることがあります。
Seleniumツール群の種類と対応プラットフォーム
Seleniumはいくつかのツールが組み合わされて構成されています。主なツール群と対応プラットフォームは以下となります。
~Seleniumの種類~
Selenium WebDriver
Selenium IDE
~対応プラットフォーム~
ブラウザ | OS | プログラミング言語 |
---|---|---|
Firefox Google Chrome Internet Explore Microsoft Edge PhantomJS |
Windows Mac OS X Linux |
Java C# Python JavaScript Ruby |
「Selenium WebDriver」「Selenium IDE」機能詳細
Seleniumの主なツール群は「Selenium WebDriver」と「Selenium IDE」の2つになります。2つのツールの機能や違いは以下となります。
Selenium WebDriverでできること
▼ Java、Ruby、JavaScriptなどのプログラミング言語からブラウザ操作が可能
1.要素の取得(ID属性 / CSSセレクタ記法 / XPath記法)
2.要素の操作(URL遷移 / クリック / キー入力 / チェックボックス選択)
3.要素情報の取得(表示 / 存在の有無 / 有効化 / サイズや位置確認)
4.ブラウザ情報の取得(タイトル / URL / HTMLソース / Cookie)
5.画面キャプチャ(※ブラウザによってスクロール範囲を含むか変わる)
6.JavaScriptの実行
7.ブラウザの戻る、進む
8.待ち処理
9.Alert、Confirm、Promptダイアログの操作
10.ウィンドウの操作
11.フレームの操作
12.マウス、キーボード操作(クリック / ダブルクリック / ドラッグ&ドロップ)
▼ WebDriver単体ではできないが、他ライブラリとの組み合わせでできること
1.ファイルアップロードダイアログ
2.ファイルダウンロード
3.Javascriptでできることは、WebDriverでもできる
(ブラウザごとにレイアウトが異なる場合やセキュリティ制限がある場合はできないこともある)
▼ 本格的なテスト自動化向き
コードの共通化などによるメンテナンスコスト削減が可能な点から
Selenium IDEでできること
▼ 迅速なバグ再現スクリプトの作成
▼ ブラウザ操作を記録して再生できるFirefoxのアドオン
▼ Selenium IDEでテスト自動化するのは推奨されない
▼ テストコードがHTMLファイルのため自由度は低い
1.記録の開始
2.テストの再生(記録 / 速度調整)
3.テストケースの保存(HTMLファイル)
4.プログラミング言語へのエクスポート
自動化は企業成長のカギ? RPAツールの導入で生産性UPへ
ここまで、Webアプリのテスト自動化が可能なSeleniumをご紹介してきました。画面テスト自動化に限らず、人力での作業を減らし、自動化させることは生産性の観点から非常に重要です。うまく自動化させている企業とそうでない企業とでは、生産性に大きな差があることでしょう。
業務の自動化という点では、RPA(Robotic Process Automation)ツールも、近年注目を集めています。RPAツールは日々のデータ入力等、ルーチン業務の自動処理が可能。デスクトップ型の「Automation Anywhere」や「Blue Prism」。サーバー型の「WinActor」や「UiPath」が主要なツールです。
RPAツールを導入〜運用する際の主な流れ
では、ルーチン業務を自動化させたい企業が、新たにRPAツールを導入するとなると、どのような工程をたどる必要があるのでしょうか。以下に主な流れをまとめてみました。
1.導入目的、解決したい課題の整理などの要件定義
2.導入するRPAツールの決定
3.要件にあわせたスクリプト作成
4.要件通りの動作をするかのテスト
5.現場担当者へ運用方法のレクチャー
はじめてのRPAツール導入は、専門企業への依頼が安全
RPAツールをはじめ、ITツールの導入や運用経験が少ない企業の場合、独自に導入を行なうのは少し困難に感じられるかもしれません。会社の負担を少なく、そして確実に導入を進めるには、RPAツールの正規店や代理店企業に依頼してみるのも一案かと思われます。
まとめ
いきなり、全ての可能な業務を自動化するのは難しいですが、今後さらに生産性を高め、業績を上げていくには、SeleniumやRPAツールを活用した自動化へのシフトも必要となることでしょう。
「従業員の残業を減らしたい」「業務を自動化したい」とお考えの企業は、ぜひ記事で紹介したツールの導入をご検討されてみてはいかがでしょうか。
建設・土木業界向け 5分でわかるCAD・BIM・CIMの ホワイトペーパー配布中!
CAD・BIM・CIMの
❶データ活用方法
❷主要ソフトウェア
❸カスタマイズ
❹プログラミング
についてまとめたホワイトペーパーを配布中
デジタルツインと i-Constructionについての ホワイトペーパー配布中!
❶デジタルツインの定義
❷デジタルツインが建設業界にもたらすもの
❸i-Constructionの概要
❹i-Constructionのトップランナー施策