在appium Java客户端7.0.0中是driver.pressKeyCode(AndroidKeyCode.HOME);不推荐使用,该使用什么代替?

时间:2019-06-09 10:04:14

标签: appium appium-android

我正在使用以下环境:

PL: Java
Appium java client 7.0.0
Appium server version: 1.13.0
Device Samsung Galaxy S8
Android Version 9.0

但是尝试输入以下代码以单击Android Home键时:

driver.pressKeyCode(AndroidKeyCode.HOME);

但是我得到了不推荐使用的编译器消息。 如何单击Home键?

感谢任何支持

3 个答案:

答案 0 :(得分:1)

Android主页按钮的键码值为 3

尝试使用 3 代替AndroidKey.HOME

答案 1 :(得分:0)

您可以使用 pressKey()代替pressKeyCode。

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.nativekey.AndroidKey;
import io.appium.java_client.android.nativekey.KeyEvent;

//initialize AppiumDriver
((AndroidDriver<MobileElement>) driver).pressKey(new KeyEvent(AndroidKey.HOME));

点击主页按钮的另一种方法是:

String cmd = "adb shell input keyevent 3";
Runtime.getRuntime().exec(cmd);

答案 2 :(得分:0)

您可以使用以下代码。在最新的io.appium / java-client 7.3.0中对此进行了测试和传递。

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.nativekey.AndroidKey;
import io.appium.java_client.android.nativekey.KeyEvent;


((AndroidDriver) driver).pressKey(new KeyEvent(AndroidKey.HOME));

更多阅读-https://discuss.appium.io/t/presskeycode-has-been-deprecated-java-client-6-0-0/22369