as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
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”替换为设备序列号 (DSN)
     }
     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日