Eggplant Functionalを使用したセットトップボックスとゲームコンソールのテスト
セットトップボックスとゲームコンソールは、独自の修正されたオペレーティングシステムを使用するコンテンツ配信デバイスであり、そのため自動化とテストが困難になることがあります。Eggplant Functionalでは、Virtual Network Computing(VNC)またはRemote Desktop Protocol(RDP)を使用して、テスト対象のシステム(SUT)を自動化します。しかし、通常、セットトップボックス上でVNCまたはRDPサーバーをホストすることは可能ではありません。この記事では、ビデオキャプチャデバイスとEggplant Functionalを組み合わせて、これらのユニークなデバイスをテストする方法について説明します。
4世代のApple TVをテストする場合は、Automating Apple TV with iOS Gatewayで概説されている方法を使用してください。
Eggplant Functionalがセットトップボックスとゲームコンソールとどのように連携するか
テスト中、VNC/RDPサーバーは、画像検索を行うために、SUT環境のリアルタイムなレプリカをEggplant Functionalクライアントに送信します。また、VNC/RDPサーバーは、Eggplant Functionalクライアントから送信されるキーボードとマウスのイベントを受け入れて、SUTを制御します。しかし、すべてのオペレーティングシステムがVNCまたはRDPサーバーと互換性があるわけではなく、市場で互換性のあるサーバーが常に利用可能であるわけではありません。
主なデ バイスカテゴリーは2つあり、セットトップボックス(Roku、ケーブルTVボックスなど)とゲームコンソール(XBox、Playstationなど)です。セットトップボックスは、オーバー・ザ・トップ(OTT)メディアコンテンツにアクセスするために使用され、通常はさまざまなプロバイダーからのアプリケーションを実行することができます。ゲームコンソールは主にビデオゲームのプレイに使用されますが、多くの現代のゲームコンソールはOTTデバイスとしても機能します。
セットトップボックスまたはゲームコンソール上に直接VNCサーバーをホストすることは通常、デバイスのオペレーティングシステムを大幅に増強しなければ可能ではありません。このプロセスは、SUTの典型的な挙動に大きな影響を与えることがあり、また全く実現不可能なこともあります。さらに、セットトップボックスとゲームコンソールは通常、赤外線リモコン(IR)、Bluetooth、または他のタイプのリモコンによって制御され、これはVNCとRDPのSUT制御方法が機能しないことを意味します。
さまざまな一般消費者向けのハードウェア製品や、よくサポートされているオープンソースのソフトウェアソリューションが利用可能で、これらによりEggplant Functionalがデバイスのディスプレイにアクセスして画像やOCRの検索を行いながら同時にデバイスを制御することができます。テストする特定のデバイスとテストのユースケースによって、特定のアプローチが最も適切である可能性があります。
自動化のアプローチを決定する前に、特定のデバイスでのユースケースを考慮してください。デバイスのオペレーティングシステムを検証しています か? OTTストリーミングコンテンツを検証していますか?ビデオゲームのコンテンツとゲームプレイを検証していますか?Eggplant Functionalからデバイスに接続するためのいくつかのアプローチは、特定のユースケースに適していますが、他のユースケースには役立たない場合があります。
以下の内容では、Eggplant Functionalからセットトップボックスまたはゲームコンソールに接続するためのアプローチについて説明します。
セットトップボックスまたはゲームコンソールのディスプレイへのアクセス
デバイスのディスプレイにアクセスして、画像とOCRの検索によりユーザーインターフェースを検証する目的で、2つの主要なアプライアンスが利用可能です:
- ビデオキャプチャデバイス
- KVM-over-IP デバイス
ビデオキャプチャデバイスは、手頃な価格の一般消費者向け製品です。ゲームプレイが目標のテストケースの1つであるゲームコンソールのテストに最適な選択肢です。ただし、ビデオキャプチャデバイスは、ビデオキャプチャデバイスの出力を表示するために、専用の「ミドルマン」デスクトップまたはラップトップマシンを必要とします。このアプローチについては、ビデオキャプチャデバイスの使用を参照してください。
KVM-over-IPデバイスは、一般的にビデオキャプチャデバイスよりもはるかに高価で すが、セットトップボックスの表示をホストするための専用のミドルマンマシンは必要ありません。ゲームプレイを含まないユースケースでは、KVM-over-IPデバイスは環境の設定を簡素化できます。詳細については、KVM-over-IPデバイスの使用を参照してください。注:KVM-over-IPデバイスでセットトップボックスとゲームコンソールをテストするとき、一般的にKVMが利用するキーボードとマウスの入力を持たないセットトップボックスとゲームコンソールでは、KVMの表示コンポーネントのみが使用されます。
Eggplant Functionalとビデオキャプチャデバイスの使用
ビデオキャプチャデバイスを使用すると、セットトップボックスやゲームコンソールの表示を、標準的なデスクトップやラップトップシステムにインストールされたビデオキャプチャアプリケーションに出力することができます。これらのビデオキャプチャデバイスの一般的な使用目的は、セットトップボックスやゲームコンソールの表示を録画またはストリーミングすることであり、これはテスト中にビデオキャプチャデバイスを使用することもデバイスのテスト中の録画またはリモートモニタリングを可能にします。ただし、Eggplant Functional環境におけるビデオキャプチャデバイスの主な目的は、SUTの画像ベースおよびOCRベースの検証を可能にすることです。
ミドルマンのデスクトップシステムはVNCサーバーをホストするか、またはRDP接続をサポートし、 これを使用してEggplant Functionalコントローラーマシンから接続します。次に、Eggplant Functionalは、デスクトップマシン上で実行されているビデオキャプチャアプリケーション内に表示されるセットトップボックスまたはゲームコンソールの表示に対して、その画像とOCR検索を行います。
ビデオキャプチャデバイス環境図
推奨ビデオキャプチャデバイス
AverMedia ExtremeCap U3ゲームキャプチャデバイスを推奨します。ExtremeCap U3用のRECentralアプリケーションはWindowsとMacで利用可能です。
ビデオキャプチャデバイスのセットアップ
ビデオキャプチャデバイスとともに提供されたインストールと設定マニュアルに従って、ビデオキャプチャデバイスのハードウェアとオペレーティングシステムの仕様に注意しながら、ビデオキャプチャデバイスをセットアップします。ビデオキャプチャデバイスをホストするために仮想マシン(VM)を使用することはお勧めしません。なぜなら、VMアプリケーションのUSB共有機能は、ビデオキャプチャデバイ スをホストするためには不十分かもしれないからです。最高のパフォーマンスを得るために、Eggplant Functionalコントローラーマシンとミドルマンマシンの両方をEthernet経由でネットワークに接続することを推奨します。
ビデオキャプチャデバイスと関連するビデオキャプチャアプリケーションをセットアップし、ビデオキャプチャデバイスをセットトップボックスまたはゲームコンソールに接続した後、Eggplant Functionalからビデオキャプチャアプリケーションを実行しているデスクトップシステムに接続を確立します。そうすると、ビデオキャプチャアプリケーションは、下記に示すようにViewer windowを通じて見えるようになります。
AverMedia RECentralアプリケーション
デスクトップシステムへの接続方法についての詳細はWindows、Mac、Linux SUTへの接続を参照してください。
AverMedia RECentral アプリケーション設定
AverMedia RECentralアプリケーションには、セットトップボックスまたはゲームコンソールからの出力をビデオキャプチャデバイスがどのように表示するかに影響を与えるいくつかの設定が含まれています。デフォルトのRECentral設定は、Eggplant Functionalと一緒に使用するのに適しているはずです。設定を選択する際には、早めに決めておくことが重要です。なぜなら、設定を変更すると、画像とOCRの検索の成功に影響を与える可能性があるからです。
RECentralアプリケーションでReadyをクリックすると、以下のようにセットトップボックスまたはゲームコンソールからの表示が表示されます:
AverMedia RECentralアプリケーション、セットトップボックスストリームを表示
AverMedia RECentralアプリケーションウィンドウは、デスクトップマシン上のセットトップボックスまたはゲームコンソールの表示サイズに影響を与える形でサイズを変更できます。この機能を扱う最も単純なアプローチは、デスクトップシステム上で一貫した解像度を使用し、スクリプト作成とテスト実行の前にRECentralアプリケーションウィンドウを最大化することで、デバイスのストリームの表示が一貫したサイズになるようにすることです。
AverMedia RECentralアプリケーション(最大化)
Eggplant Functionalがテスト中にセットトップボックスまたはゲームコンソールの表示を検証できるようにするためには、RECentralアプリケーションは開いたままで、中継マシン上の最前面のウィンドウでなければなりません。自動テストで役立たない他のすべてのアプリケーションを中継マシン上で閉じておくことをお勧めします。これにより、自動化中の混乱や他の複雑さを避ける ことができます。
高精細コンテンツ保護(HDCP)制限
ほとんどの場合、セットトップボックスまたはゲームコンソールをビデオキャプチャデバイスに接続するためにHDMIケーブルを使用します。現代のHDMIケーブル規格にはHDCPという暗号化が含まれています。使用している特定のセットトップボックス/ゲームコンソールとビデオキャプチャデバイスによりますが、HDCPは著作権物の録画を防ぐために、ビデオキャプチャアプリケーションを通じたビデオまたはゲームコンテンツの視聴をブロックする可能性があります。以下は、OTTデバイス上でHDCPがストリーミングビデオコンテンツをブロックする例を示しています。
しかし、AverMedia ExtremeCap U3、RECentral V.1.3.0.116 Driver 1.0.64.87(Firmware V61)、およびRokuとXBox Oneを使用すると、HDCPがビデオとゲームコンテンツの視聴をブロックする問題はありませんでした。
ビデオやゲームコンテンツを視聴する能力を含む自動化テスト要件があり、HDCPブロックに遭遇した場合は、テスト目的のみでHDCPをバイパスすることを検討できます。
PlayStation 4にはHDCPを無効にするオプションがあります。他のデ バイスや状況については、HDCPをバイパスするHDMIスプリッタを調達することを検討してみてください。HDMIスプリッタは、上記の環境ダイアグラムでセットトップボックスまたはゲームコンソールとビデオキャプチャデバイスの間に位置します。すべてのHDMIスプリッタがHDCPをバイパスするわけではなく、この特性は通常は広告されませんので、HDMIスプリッタを慎重に注文してください。How to Geekには、HDCPとそれをバイパスする方法についてより詳しく説明した記事があります。
Eggplant Functionalを用いたセットトップボックスとゲーム機の制御
セットトップボックスやゲーム機のディスプレイにアクセスするだけでなく、自動化中にセットトップボックスやゲーム機を制御する方法も必要です。異なるデバイスは異なる方法で制御され、一部のデバイスは複数の方法で制御されます。具体的なデバイスに対して利用可能なアプローチを検討してください。
多くのセットトップボックスやゲーム機はモバイルアプリによって制御することができます。Eggplant Functionalを用いてモバイルアプリを自動化することは可能ですが、テスト中にモバイルデバイスとセットトップボックスまたはゲーム機のディスプレイを常に行き来する必要があるため、必ずしも最も単純なアプ ローチではありません。
デバイスがゲーム機で、使用ケースにビデオゲームをプレイする要件が含まれている場合は、ゲーム機のキーボードとマウスを制御することができる無料のサードパーティ製ユーティリティ、GIMXの使用を検討してください。一般的には、GIMXの使用は上記で説明したビデオキャプチャデバイスのアプローチと組み合わせて使用されます。GIMXについて詳しくは、GIMXを使ったビデオゲーム機の自動化をご覧ください。
多くのセットトップボックスや一部のゲーム機のOTT機能は、赤外線信号によって制御されます。Linux赤外線リモコン(LIRC)(WindowsではWinLIRCとして利用可能)はEggplant Functionalによって制御され、それによってセットトップボックスやゲーム機の一部を制御することができます。LIRCを使用してEggplant Functionalからテストデバイスを制御する方法については、LIRCを使用したセットトップボックスのテストをご覧ください。
LIRCの使用は、上記で議論したKVM-over-IPアプローチまたはビデオキャプチャデバイスのアプローチと組合わせて使用することができます。
Eggplant Functionalを用いたスマートテレビのテスト
スマートテレビには、セットトップボックスのように機能する組み込みのハードウェアとソフトウェアがあります。残念ながら、スタンドアロンのセットトップボックスとは異なり、スマートテレビの大部分は、スマートテレビをビデオキャプチャデバイスやKVM-over-IPデバイスに接続するためのディスプレイ出力ポートがないため、スマートテレビのUIはEggplant Functionalが画像検索やOCR検索を行うためにアクセスできません。
一部のスマートテレビメーカー、例えばSamsungは、開発者ツールを提供しています。これには、エミュレータアプリや、デスクトップマシンやモバイルデバイス上でスマートテレビの画面を表示するオプションが含まれており、これらはEggplant Functionalと併用して自動化するために使用することができます。