Tips:実行中のアプリケーションにアタッチするための Squish設定

このブログは「Tip: Setting up Squish to attach to running applications in a distributed environment」」を翻訳・一部加筆したものです。

複数のテストを連続して実行したいケースもあるでしょう。そのような場合に役立つのが、Squishに用意されている「startaut」というツールです。名前に「start」という単語が入っていますが、このツールは非常に強力で、「startwinaut」の場合、Squishがすでに実行中のアプリケーションにアタッチするのにも使用できます(--window-title=オプションを参照)。startautは、squishrunnerやsquisherverと連携し、AUTとのやり取りのための「フック」IPサーバーポートを開くことが必要です。これらのプロセスをすべて同じマシンで実行することは一般的ですが、別々のマシンで実行することも可能です。後者は、多くのユーザーが気づいていなかった解決策であり、この記事の焦点となっています。

考えられるセットアップ構成は3つあります:

  • 基本構成(Basic)
  • squishserver から squishrunnerを分離する
  • squishserver/runner から startaut を分離する

注:ここでは、複数のマシン間でのツールのパーティションについて説明します。これらのツールの使用方法、起動方法、設定方法などはここでは説明しません。

基本構成

basic

この設定は、私たちのドキュメントで詳細に説明されており、実行中のアプリケーションにアタッチする必要があるテストを開発する際に、テスターが最も頻繁に利用する方法です。これにより、アプリケーションに対する即座のフィードバックや対話が可能になり、テストケース全体を再生せずにスニペットを記録することができるため、テストの開発を支援/緩和し助けることができます。

squishserver から squishrunner を分離する

remote

この設定は、squishserverがリモートマシンでAUTを起動または終了する際に、アプリケーションをテストする場合によく利用されます。この図を拡張して、「Machine A」のsquishrunnerが「Machine B」のsquishserverに接続し、以前のブログ記事で示した並列実行を実現することができます。

squishserver/squishrunner から startaut を分離する

device

このセットアップの利点は、他の2つのセットアップとは異なり、アプリケーションを実行しているデバイスやマシンを再起動できることです(ただし、スクリプトからの切り離しを前提としています)。この方法は、例えば、組み込みデバイス上で常に稼働しているアプリケーションをテストする際に利用されます。

どちらのセットアップも、各ツールの慎重な設定に依存しています:squishserverにアタッチ可能なAUT情報を追加し、startaut*を実行してフックサーバーをセットアップし、テストスクリプトで正しいネットワーク(IP、ポート)情報を使用してアプリケーションにアタッチします。このトピックについては、私たちのブログナレッジベースの記事、またはマニュアルで良いリソースを見つけることができます。

 


Blog Topics:

Comments