RPA×Webページの検品
品質管理スタッフ 小稗今回はWebページの検品にRPAを導入するに至る経緯と、導入過程で得た気づきをご紹介しようと思います。
できばえのチェックも自動化できないか
Webサイトの構築や運用の場面では、複数のWebページに共通の作業をしたい場合にRPAによる繰り返し作業がその効果を発揮しているところですが、これを当社の検品業務、Webページのできばえのチェックにも応用しようと、徐々に取り組みを進めています。
Webページはユニークさと共通部分が共存
Webページはユニークな情報をもっていますので、ページごとに人がチェックをかけることがほぼ欠かせない状況にあると認識しています(将来的にはわかりませんが)。一方で、ヘッダー、フッター、ナビゲーションなど、サイト全体ないし特定のカテゴリーで共通するモジュールが存在することもまた珍しくないものと思います。
ユニークさと共通部分の共存、これは大半のWebページの特徴であり、そしてRPAに期待したいのはこの共通部分を検品する場面になります。
検品部門の抱える条件を加味してRPAを検討
当社の検品業務は社内のテスト環境にて行うのが通常です。社内のテスト環境にアップされた該当ページを、検品スタッフが手元のブラウザで1ページずつ開き、ワイヤーフレームや原稿などと照合していく手順を取ります。ユニークな問題に柔軟さが発揮できる一方、大量のページを取り扱うにあたって同様の方法ですと、手作業の分時間を要することになります。
Webサーバーから直接リソースを取得するなどしてHTMLファイルに検索をかけるというのは、制作者にはごく自然な発想と思います。しかし、検品部門の中立性確保という観点から、検品を行うスタッフはテスト環境へのSFTP接続も各案件プロジェクトのGit参加も行っていません(リソースのpushもpullも不可)。テスト環境はクライアントにもご覧いただくことから、できばえのチェックはできるだけお客さまに寄せた条件下で行う運用にしています。
では、どのように複数ページの情報を効率よく検品するのか。以前からこの問題には取り組んでおり、Excel VBAでWebスクレイピングを行う機能を部内で開発し利用してきました。ただ、細かい仕様に違いが生じることがあらかじめ視野に入っていたので、当社のRPA専従部門の本格的な始動に合わせ、RPAの導入検討を開始することにしました。
複数ページを対象にWebスクレイピング、その結果データを検証
社内での相談の結果、UiPathからJavaScriptを呼び出す形で、テスト環境の複数ページへのWebスクレイピングを行う方法を取ることになりました。UiPath×JavaScriptという組み合わせについてはRPA Blogの記事「UiPathでWebページを操作するときはJavaScriptを活用しよう!」に譲りたいと思います。
取得したい要素、属性を指定して、複数ページから情報を取得し、ExcelないしCSV形式で出力します。テキストデータ同士ですので、ファイルリストなど原稿にあたる情報とテキスト比較ツールでまとめて照合することが可能です。Excel内でテキスト比較する場合はEXACT関数が手頃でしょう。また、テキスト比較ツール自体をRPA化して、比較結果まで自動で出力することも可能です。
最後は人の目による確認になりますが、確認対象のデータを抽出、整形し、効率よく検品を進めるために、RPAの機能は有用と考えています。
複数のWebページをまとめて取り扱う際のポイント
一方で、RPAのような自動作業にあたって気を付けるべきポイントにも触れておきたいと思います。検品より前工程で気を付けたいポイントです。
複数ページの共通の箇所に同じ操作を繰り返しますので、ページごとにソースにばらつきがあると共通の操作が難しくなってしまいます。最近はできるだけプロジェクトの早期に状況確認を行うようにしていますが、このばらつきが後々の工程(当社ですと検品工程)で初めて発覚してしまうと、ほぼ手戻り状態になりますので、プロジェクトのスケジュールにもコンテンツの品質にも非常にマイナスになります。
具体的には、以下の点を「事前に」確認することで、RPAによる機械的な作業後にソースがばらつくことをかなり抑えることができるはずです。
- RPAで作業したいページの要素、属性についてページ間のばらつきがないか確認する
- 対象ページと対象箇所をカウントしておく
- テスト環境と本番環境に差分が生じる場合、スケジュール上の作業順に配慮する
...実はこれ、一括置換の前に気を付けるポイントとあまりかわらない認識です。人が置換指示するかRPAで繰り返しさせるかという違いはありますが、サイトの内容をまとめて取り扱うために条件を揃えるという要点は同じですね。
結びとして
すでにいくつかの案件で具体的なプログラムが動いている状況ですが、もう少しケースを増やして、より汎用的な機能を目指しているところです。効率と精度を求めて、RPAを利用した検品メソッド構築に引き続き取り組んでまいりたいと思います。