as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

Appium Vegaドライバーを使用したテストの作成

Appium Vegaドライバーを使用したテストの作成

Appium Vegaドライバーを使用すると、Fire TV Stickでアプリの自動テストを実行できるようになります。このページでは、Python、Java、JavaScriptのいずれかを使用して自動テストを作成する方法について説明します。

前提条件

  1. Appiumによるテストのセットアップの手順を完了します。
  2. Appiumセッションの管理を参照して、機能の構成を確認します。
  3. Appiumサーバーがデフォルトのポート4723で実行されているかどうかを確認します。

    クリップボードにコピーしました。

     curl http://localhost:4723/status
    
  4. Vega対応Fire TVデバイスまたはVega仮想デバイスにターゲットアプリをインストールします。

テストスクリプトの作成

  1. 使用する統合開発環境とプログラミング言語を選択します。
  2. 新しいファイルを作成し、以下のコードスニペットを含めます。

    Python:

    クリップボードにコピーしました。

     from appium import webdriver
     from appium.options.common import AppiumOptions
    
     bridge = "vda" 
     desired_caps = {
         "platformName": "Vega",
         "appium:automationName": "automation-toolkit/JSON-RPC",
         "browserName": "",
         "kepler:device": f"{bridge}://default"  # または「default」をデバイスのシリアル番号に置き換えます。
     }
     desired_caps = AppiumOptions().load_capabilities(desired_caps)
    
     appium_url = "http://127.0.0.1:4723"
    
     def appium_session():
         driver = webdriver.Remote(appium_url, options=desired_caps)
         try:
         	output = driver.execute_script("shell", 'echo "Hello World!"')
         	if "Hello" in output:
             	print(f"スクリプトコマンドの実行に成功しました:\n{output}")
         	else:
             	print("問題が発生しました")
         	finally:
             	driver.quit()
    
         if __name__ == '__main__':
         	appium_session()
    

    JavaScript:

    クリップボードにコピーしました。

         const {remote} = require('webdriverio');
    
     const capabilities = {
         platformName: 'Vega',
         'appium:automationName': 'automation-toolkit/JSON-RPC',
         'kepler:device': 'vda://default',
         'appium:appURL': 'com.amazon.keplervideoapp.main',
     };
    
     const opts = {
         hostname: 'localhost',
         port: 4723,
         logLevel: 'info',
         capabilities,
     };
    
     const test = async function runTest() {
         const driver = await remote(opts);
         try {
         	const element = await driver.$('//children[@test_id="card169309"');
    
         	// getElementRectコマンド
         	const rect = await driver.getElementRect(element.elementId);
    
         	console.log(`x: ${rect.x}, y: ${rect.y}, width: ${rect.width}, height: ${rect.height}`);
         } finally {
         	await driver.deleteSession();
         }
     }
    
     test().catch(console.error);
    

    Java:

    Javaでは、コンパイルと依存関係の管理が必要になります。MavenまたはGradleを使用すると、これらの要件を自動的に処理できます。

    Mavenを使用するプロジェクトの設定

    1. Mavenのインストールを確認します。

      クリップボードにコピーしました。

       mvn --version
      
    2. プロジェクトのルートにpom.xmlを作成します。

      クリップボードにコピーしました。

       <project>
       <modelVersion>4.0.0</modelVersion>
      
       <groupId>com.amazon.akd</groupId>
       <artifactId>kepler-test</artifactId>
       <version>1.0-SNAPSHOT</version>
      
       <dependencies>
       		<dependency>
       		<groupId>io.appium</groupId>
       		<artifactId>java-client</artifactId>
       		<version>8.5.1</version>
       		</dependency>
       </dependencies>
       </project>
      
    3. テストクラスを作成します。テストクラスを参照してください。

    Gradleを使用するプロジェクトの設定

    1. Gradleのインストールを確認します。

      クリップボードにコピーしました。

       gradle --version
      
    2. プロジェクトのルートにbuild.gradleを作成します。

      クリップボードにコピーしました。

      
       plugins {
           id 'java'
           id 'application'
       }
      
       repositories {
           mavenCentral()
       }
      
       dependencies {
           implementation 'io.appium:java-client:8.5.1'
       }
      
       application {
           mainClass = 'com.amazon.akd.commands.page_and_source.ExecuteScriptExample'
       }
      
    3. settings.gradleを作成します。

      クリップボードにコピーしました。

       rootProject.name = 'kepler-test'
      
    4. テストクラスを作成します。テストクラスを参照してください。

テストクラス

クリップボードにコピーしました。

package com.amazon.akd.commands.page_and_source;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.remote.options.BaseOptions;

import java.net.MalformedURLException;
import java.net.URL;

public class ExecuteScriptExample {
	public static void main(String[] args) throws MalformedURLException {
	    BaseOptions options = new BaseOptions()
	            .setPlatformName("Vega")
	            .setAutomationName("automation-toolkit/JSON-RPC")
	            .amend("kepler:device", "vda://default")
	            .amend("appium:appURL", "com.amazon.keplervideoapp.main");

	    AppiumDriver driver = new AppiumDriver(
	            new URL("http://127.0.0.1:4723"), options
	    );

	    try {
	        // execute_scriptコマンド
	        String output = driver.executeScript("shell", "echo 'Hello World!'").toString();
	        System.out.println(output);
	    } finally {
	        driver.quit();
	    }
	}
}

テストスクリプトの実行

好みのテストフレームワークとツールを使用してテストスクリプトを実行できます。

  1. コマンドプロンプトを開きます。
  2. テストファイルの場所に移動します。
  3. テストを実行します。

Python:

クリップボードにコピーしました。

python test.py

出力の例:

$ python test.py
Execute script command run was successful:
Hello World!

JavaScript:

クリップボードにコピーしました。

node test.js

出力の例:

$ node test.js
{
  x: 150,
  y: 200,
  width: 300,
  height: 400
}

Java

Mavenを使用する場合:

クリップボードにコピーしました。

mvn clean install

Gradleを使用する場合:

クリップボードにコピーしました。

./gradlew run

出力の例:

# Mavenを使用する場合
$ mvn clean install
[INFO] Scanning for projects...
[INFO] Building kepler-test 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
...
Hello World!

# Gradleを使用する場合
$ ./gradlew run
> Task :run
Hello World!

BUILD SUCCESSFUL in 3s

Last updated: 2025年9月30日