SalesforceアプリケーションのUIテストを自動化しよう!

Ranorexは、Shadow DOM をサポートしているため、SalesforceアプリケーションのUIテストを自動化することができます。Salesforceアプリケーションで使用されているUI開発フレームワークのLightning Web Components (LWC) では、Shadow DOM が使用されています。今後も様々なWebアプリケーションでの使用が想定されるShadow DOMのサポートは、Ranorexの強みのひとつです。

Lightning Web Componentsとは

Lightning Web Components(LWC)は、Salesforce社が提供しているUI開発プログラミングモデルで、標準化団体で規定されているWeb Componentsをベースとしています。Web Componentsは、HTML要素をカプセル化して再利用可能なパーツにするためのAPI群で、以下の4つの機能で構成されています。

Web Components

  • Custom Elements:好きなタグ名の要素を作成する機能
  • Shadow DOM:HTML要素に直接アクセスできないようにする機能
  • HTML Template:外部JSファイルを動的に読み込む機能
  • ES Modules:要素をテンプレートとして扱う機能

このようなプログラミングモデルを使用するメリットは、ReactやVue.jsなどのフレームワークのように、定められたルールや骨組みに従う必要がないため、ツール学習時間や別フレームワークへの移行時に発生するメンテナンス時間を削減できることです。LWCは、Web Componentsよりも更にコードを簡潔化する工夫がされているため、開発時間も短縮することができます。それでは、LWCで使用されるShadow DOMはどのようなメリットがあるのでしょうか。

Shadow DOMとは

Shadow DOMは、DOMをカプセル化し、HTMLの要素に直接アクセスできないようにすることができます。一般的にWebアプリケーションを開発する際には、HTMLのタグにidやclassといった属性を付与することで、特定の要素に対して、CSSのデザインやJavascriptの機能を与えることができます。しかしながら、一意に要素を特定するためには、長い属性値を使用したり、セレクタで絞り込む必要があります。こうした開発時の手間や属性値の被りミスによる悪影響をなくすことができるのが、Shadow DOMになります。Shadow DOMにより、Webアプリケーション開発者のストレスが減るため、今後も需要が高まっていくことが考えられます。

Ranorexは、Salesforceアプリケーションに対応

Webアプリケーションにおいて、HTMLのタグ情報を取得してオブジェクト認識をおこなうUIテスト自動化ツールでは、要素の情報が隠されているShadow DOMへの対応は難しいところがあります。しかしながら、Ranorexは、v9.0からShadow DOMをサポートしており、隠されている要素の情報を取得することができるため、Shadow DOMが使用されたSalesforceアプリケーションのテストが可能です。

まとめ

Ranorexは、Shadow DOMが使用されているSalesforceアプリケーションなどのテスト自動化をサポートしています。他のWebアプリケーションでも需要が高まっていくとされるShadow DOMの対応は、Ranorexの強みのひとつです。Salesforceアプリケーションなど、Shadow DOMが使用されているWebアプリケーションのUIテスト自動化にお困りの方は、ぜひRanorexを使用してみてください。Ranorex無料体験版のダウンロードはこちら