Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在Zebra TC25上以编程方式按下硬件按钮_Android_Barcode Scanner_Katalon Studio - Fatal编程技术网

Android 在Zebra TC25上以编程方式按下硬件按钮

Android 在Zebra TC25上以编程方式按下硬件按钮,android,barcode-scanner,katalon-studio,Android,Barcode Scanner,Katalon Studio,我正在尝试在Zebra TC25智能手机上自动测试一个移动应用程序。该测试已在Katalon Studio上实施,但我无法激活trigger\u scan按钮: AppiumDriver<?> driver = MobileDriverFactory.getDriver() driver.pressKey(new KeyEvent(AndroidKey.XXXX) .withFlag(KeyEventFlag.LONG_PRESS)); AppiumDriver drive

我正在尝试在Zebra TC25智能手机上自动测试一个移动应用程序。该测试已在Katalon Studio上实施,但我无法激活
trigger\u scan
按钮:

AppiumDriver<?> driver = MobileDriverFactory.getDriver()
driver.pressKey(new KeyEvent(AndroidKey.XXXX)
    .withFlag(KeyEventFlag.LONG_PRESS));
AppiumDriver driver=MobileDriverFactory.getDriver()
驱动程序。按键(新按键事件(AndroidKey.XXXX)
.withFlag(KeyEventFlag.LONG_PRESS));

触发器可能是以下类型之一:
KEYCODE\u按钮\u L1
KEYCODE\u按钮\u R1

确认这一点(尽管重写硬件密钥是另外一回事):

要覆盖应用程序中的触发键,请为应用程序创建禁用条形码输入的配置文件。 在应用程序中,使用标准API,如
onKeyDown()
来侦听
KEYCODE\u按钮\u L1
KEYCODE\u按钮\u R1
的按下


在查看时:

按钮\u L1
public static final AndroidKey按钮\u L1
键代码常量:L1按钮键。在游戏控制器上,L1按钮应为标有L1(或L)的按钮或左上角的触发按钮

按钮\u R1
public static final AndroidKey按钮\u R1
键代码常量:R1按钮键。在游戏控制器上,R1按钮应该是标有R1(或R)的按钮或右上角的触发按钮


如果有其他按钮可以尝试,那么它将是所有通用的gamepad按钮。

请提供更多信息!我必须从正面扫描仪执行QR扫描。按下触发器左/右按钮可执行此操作。。。我试图在katalon Studio中模拟此操作,但没有找到与此操作相关的正确枚举“AndroidKey.XXXX”,我找到了driver.longPressKeyCode(285)。该值是KEYCODE_REFRESH,因为我是从app KeyEvent Display获得的。但是没有执行按钮压力,相反,对于其他值(如25(volume_down)@SimoneDell'Accio,可以使用
for
while
循环,并在日志记录时触发一行中的所有值,添加一点延迟,因为它需要是其中之一。长按
可能是问题所在。。。有了这个修饰符,它可能会有一个不同的动作,或者没有指定动作。最好先用Java触发它,而不是用Appium抽象,然后移植到Appium,或者只给我发送一个测试设备:)如果应用程序发出gamepad事件而不是测试呢?