Appium Vegaドライバーを使用したテストの作成
Appium Vegaドライバーを使用すると、Fire TV Stickでアプリの自動テストを実行できるようになります。このページでは、Python、Java、JavaScriptのいずれかを使用して自動テストを作成する方法について説明します。
前提条件
- Appiumによるテストのセットアップの手順を完了します。
- Appiumセッションの管理を参照して、機能の構成を確認します。
-
Appiumサーバーがデフォルトのポート4723で実行されているかどうかを確認します。
curl http://localhost:4723/status - Vega対応Fire TVデバイスまたはVega仮想デバイスにターゲットアプリをインストールします。
テストスクリプトの作成
- 使用する統合開発環境とプログラミング言語を選択します。
-
新しいファイルを作成し、以下のコードスニペットを含めます。
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を使用するプロジェクトの設定
-
Mavenのインストールを確認します。mvn --version -
プロジェクトのルートに
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> -
テストクラスを作成します。テストクラスを参照してください。
Gradleを使用するプロジェクトの設定
-
Gradleのインストールを確認します。gradle --version -
プロジェクトのルートに
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' } -
settings.gradleを作成します。rootProject.name = 'kepler-test' -
テストクラスを作成します。テストクラスを参照してください。
-
テストクラス
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();
}
}
}
テストスクリプトの実行
好みのテストフレームワークとツールを使用してテストスクリプトを実行できます。
- コマンドプロンプトを開きます。
- テストファイルの場所に移動します。
- テストを実行します。
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日

