在 Eclipse 中进行 appium 测试时...如何为 Android 工具设置 JAVA_HOME 环境变量以使其正常工作?

In Eclipse while doing appium testing ...How to set JAVA_HOME environment variable for Android Tools to work properly?

原始错误:必须为 Android 工具设置 JAVA_HOME 环境变量才能正常工作

我的代码:

    DesiredCapabilities capabilities = new DesiredCapabilities();
    
    capabilities.setCapability("BROWSER_NAME", "Android");
    capabilities.setCapability("VERSION", "9.0");

    // ZY224HFLPG is device name
    capabilities.setCapability("deviceName","ZY224HFLPG");
    capabilities.setCapability("platformName","Android"); 

    capabilities.setCapability("appPackage", "com.android.calculator2");
    capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); 

driver = new RemoteWebDriver(new URL("http://127.0.0.1:4725/wd/hub"), 能力);

输出:

org.openqa.selenium.WebDriverException: 处理命令时出现未知的服务器端错误。原始错误:无法验证 'C:\Users\karakris\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.15.0.apk'.

的签名

原始错误:必须为 Android 工具设置 JAVA_HOME 环境变量才能正常工作

构建信息:版本:'3.141.59',修订:'e82be7d358',时间:'2018-11-14T08:25:53' 系统信息:host: 'LIN19003760', ip: '192.168.0.106', os.name: 'Windows 10', os.arch: 'amd64', os.version: ' 10.0', java.version: '15.0.1' 驱动程序信息:driver.version: RemoteWebDriver 远程堆栈跟踪:UnknownError:处理命令时发生未知的服务器端错误。原始错误:无法验证 'C:\Users\karakris\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v4.15.0.apk' 的签名。原始错误:必须为 Android 工具设置 JAVA_HOME 环境变量才能正常工作 在 getResponseForW3CError (C:\Users\karakris\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\errors.js:804:9) 在 asyncHandler (C:\Users\karakris\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:384:37) 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64) 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) . . .

应该做什么?

执行以下操作:

1. 在环境变量中设置JAVA_HOME。

步骤:

  1. 右键单击我的 computer/This PC
  2. Select属性>>高级系统设置
  3. Select 环境变量
  4. 在系统变量中select新建
  5. 在变量名称中输入 JAVA_HOME
  6. 在变量值中输入您的 java 安装目录路径 例如C:\程序Files\Java\jdk-15.0.1

2. 以类似的方式设置ANDROID_HOME。例如

变量名:ANDROID_HOME

变量值:您的 android sdk 路径,例如C:\Users\USERNAME\AppData\Local\Android\Sdk

3. 通过编写以下 java 代码

为 Android 设备设置所需的功能
    public class descap {

    public static AndroidDriver<AndroidElement> desiredCapabilities() throws 
    MalformedURLException{  
    
    DesiredCapabilities dcap=new DesiredCapabilities();
    
    dcap.setCapability(MobileCapabilityType.AUTOMATION_NAME,"uiautomator2");
    dcap.setCapability(MobileCapabilityType.PLATFORM_VERSION,"your version");
    // e.g. 9.0 is a device version
        
    dcap.setCapability(MobileCapabilityType.DEVICE_NAME,"your device name");
    // e.g. ZY224HFLPG is a device name
    dcap.setCapability(MobileCapabilityType.APP_PACKAGE,"com.android.calculator2");
    dcap.setCapability(MobileCapabilityType.APP_ACTIVITY,
    "com.android.calculator2.Calculator");
            
    AndroidDriver<AndroidElement> driver=new AndroidDriver<AndroidElement>(new 
    URL("http://127.0.0.1:4723/wd/hub"),dcap);
    return driver;
            
     }
    }

4. 通过在命令提示符下执行以下命令来检查您的设备或模拟器是否已连接并正常工作

    C:\Users\USERNAME>adb devices

5. 检查 Appium 服务器是否正在 运行 正在侦听端口 4723。否则 运行 appium 服务器从命令提示符执行以下操作命令

    C:\Users\USERNAME>appium

6. 执行你的代码。

下面是在eclipse中设置环境变量的过程:

  1. 右键单击要 executed/run 的 java 文件。
  2. Select 运行 作为--> 运行 配置
  3. Select 环境选项卡
  4. 单击“新建”按钮并提供环境变量名称和值
  5. 点击确定
  6. 单击“应用”按钮。
  7. 关闭 window 完成

Eclipse screen shot