0
0

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 1 year has passed since last update.

[T-DASH] スマートフォンWEBのテスト自動化をする

Last updated at Posted at 2024-05-16

Outline

T-DASHは、ローカルでは基本的にはPCのchrome , Edge, FirefoxをもちいたWEBテストがメインなっている。
ただ、スマートフォン(SP もしくは モバイル)のWEBのテストを行うことができる。
一つはローカル環境でemulatorを用いたテスト。もう一つは、cloud deviceのサービスを用いた実機のテスト。
それぞれのテストに関して説明する

※ T-DASH version 4.2.001 を用いて構築したものである。

スクリプティング

PCとSP 画面が同じ

テスト実行する前に、まずスクリプティングを行う必要がある。
SP WEB画面が、レスポンシブ対応したUIであれば、PCのWEBで画面要素を取得して、それをもとにスクリプトして問題はない。

PC WEBページの画面キャプチャ

image.png

SP WEBページの画面
image.png

この画面要素をもとにテストケースを作成すればよい。

PCとSP 画面が異なる

SP画面・機能がPCと異なる場合、要素をとるとき、残念ながらT-DASHの画面キャプチャで要素の値(XPath)をとることはできない。
Developer toolを使い、XPathを手動でとる必要がある。
また、Pluginなどを使って、UserAgentにモバイル情報を設定し、ブラウザをモバイルとして動作するようにする。
一つのUserAgent変更するものに、User-Agent Switcher for Chromeがある
これを持ちいて、SP画面にすることができる(emulator)

image.png

XPathの取り方は、こちらを参考にしてください

XPathが取得出来たら、PCと同じで、テストケースを作成する。

技術的な情報

テスト実行でブラウザ起動時にoptionを指定することで、ブラウザをSP modeとして立ち上げることができる。
そのため、T-DASHの標準機能ではなく、robot frameworkでoptionを指定してブラウザを立ち上げる
そのコマンドは以下の通り

Open Browser  ${BROWSER}  options=${chrome_options}

${BROWSER} は起動するブラウザ(今回Chrome)

${chrome_options} は起動時のoption
add_argumentを用いて、設定したいoptionを追加設定する。
設定可能なoptionは以下のサイトを参考にするといい

テスト実行 (Emulatorで実行)

先ほど説明したように、テスト実行時にもUserAgentを設定してブラウザを起動してテストを行う。
そのため、UserAgentを設定したブラウザを起動するカスタム動作を定義する必要がある。

カスタム動作

以下設定内容をChromeOpt.yamlのファイル名で保存する

ACT-CAT-CUSTOM-d824db62-a8c6-45aa-875c-3dab32c8f101:
  action_category_name: ChromeOpti
  icon: ''
  color: '#67b6a4'
  custom_data:
    file_name: ChromeOption
    pip_list: []
    library_list:
    - SeleniumLibrary
  actions:
    ACT-CUSTOM-7bedfd74-6493-49af-bcc4-da7d9d184f47:
      action_name: SP モードでchromeを起動する
      action_type: operation
      action_format: SP モードでchromeを起動して、「設定値1」にアクセスする
      action_note: ''
      action_args:
      - value1
      action_def:
      - - '${UA} = '
        - Set Variable
        - Mozilla/5.0 (iPhone; CPU iPhone OS 16_5_1 like Mac OS X) AppleWebKit/605.1.15
          (KHTML, like Gecko) Mobile/20F75 [FBAN/FBIOS;FBDV/iPhone15,3;FBMD/iPhone;FBSN/iOS;FBSV/16.5.1;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5]
      - - ${height} =
        - Set Variable
        - '720'
      - - '${width} = '
        - Set Variable
        - '540'
      - - ${chrome_options} =
        - Evaluate
        - selenium.webdriver.ChromeOptions()
      - - Call Method
        - ${chrome_options}
        - add_argument
        - --window-size\=${width},${height}
      - - Call Method
        - ${chrome_options}
        - add_argument
        - --user-agent\="${UA}"
      - - Open Browser
        - ${value1}
        - Chrome
        - options=${chrome_options}

次に、作成されたChromeOpti.yamlをT-DASHの動作定義 -> カスタム動作 -> カスタム動作をインポート にてインポートする

image.png

実際にインポートされた設定内容を開く

image.png

ブラウザの起動オプションを設定することができる

パラメータ 意味
${UA} User Agent : モバイルの端末情報
${height} ブラウザの高さ
${width} ブラウザの幅

image.png

User Agentの設定値は、こちらのサイトなどから取得する

スクリプト

ブラウザの起動時、標準関数の「URLでブラウザを開く」を使用しない。
その代わりに、今回追加したカスタム動作「SP モードでchromeを起動する」を使用する。

image.png

テスト実行 (Cloud deviceで実行)

T-DASHで実機のスマートフォンを使ってテストをする場合、AnyTestと連携して実施する。

image.png

先ほどのemulatorとは異なり、PCと同じ標準関数「URLでブラウザを開く」を使い、テストケースを作成する。
実行するときに、テスト環境選択(AnyTestと連携設定されている前提)でAnyTestを選択するだけである。

image.png

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?