7
4

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.

Page Object Model (POM)を使った自動テストについて3分で理解する

Last updated at Posted at 2020-06-04

ページオブジェクトパターンをざっくり言うと?

ページオブジェクトパターン【Page Object Model (POM) とも言う】はテスト対象の画面テストをテスト自動化する際、画面というのは頻繁に変更が入り、自動テストも頻繁に修正が必要となる為、極力、自動テストをメンテナンスしやすいように作る、デザインパターン。

具体的には?

テスト対象の各画面情報を1画面につき、1つの共通クラスに集約し、画面構成の変更に伴うスクリプト修正コストを減らすことができます。

  • 全体イメージを図で書くと ↓
    POM.jpg

  • つまりは・・ ↓

POM_2.jpg

なぜメンテナンスしやすいのか?

  • テストスクリプトが読みやすい
  • ローケータの詳細などをページオブジェクトのメソッド内に書くことでテストスクリプトを読みやすくする
  • 1つのページに1つのクラスを作成する。というルールが明確
  • ルールが明確なので開発者ごとのバラつきがない
  • メソッドが見つけやすい
  • 操作対象のページに対するページオブジェクトから目的のメソッドを探せばよいので、見つけやすい
  • 操作対象のページのUI上の操作と簡単にマッピングしやすい(例:ボタンをクリックした後にホームページに移動するメソッドの場合、「gotoHomePage()」にする、、とか)

サンプル

サンプルコードはググればいくらでもあるので、他サイトを参照
https://www.guru99.com/page-object-model-pom-page-factory-in-selenium-ultimate-guide.html

以上、3分で理解できたはず!?

参考記事

* [Page Object Model](https://docs.katalon.com/katalium-framework/docs/katalium-framework-page-object-model.html) * [Page Object Model (POM) & Page Factory: Selenium WebDriver Tutorial](https://www.guru99.com/page-object-model-pom-page-factory-in-selenium-ultimate-guide.html) * [Selenium実践入門 ―― 自動化による継続的なブラウザテスト](https://www.amazon.co.jp/Selenium%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%AB%E3%82%88%E3%82%8B%E7%B6%99%E7%B6%9A%E7%9A%84%E3%81%AA%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%83%86%E3%82%B9%E3%83%88-WEB-PRESS-plus/dp/4774178942)

余談。。。

3分で理解するシリーズ

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?