在 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。
步骤:
- 右键单击我的 computer/This PC
- Select属性>>高级系统设置
- Select 环境变量
- 在系统变量中select新建
- 在变量名称中输入 JAVA_HOME
- 在变量值中输入您的 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中设置环境变量的过程:
- 右键单击要 executed/run 的 java 文件。
- Select 运行 作为--> 运行 配置
- Select 环境选项卡
- 单击“新建”按钮并提供环境变量名称和值
- 点击确定
- 单击“应用”按钮。
- 关闭 window
完成
Eclipse screen shot
原始错误:必须为 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。
步骤:
- 右键单击我的 computer/This PC
- Select属性>>高级系统设置
- Select 环境变量
- 在系统变量中select新建
- 在变量名称中输入 JAVA_HOME
- 在变量值中输入您的 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中设置环境变量的过程:
- 右键单击要 executed/run 的 java 文件。
- Select 运行 作为--> 运行 配置
- Select 环境选项卡
- 单击“新建”按钮并提供环境变量名称和值
- 点击确定
- 单击“应用”按钮。
- 关闭 window 完成
Eclipse screen shot