【问题标题】:How to press keys on Android application in Appium via Robot Framework?如何通过机器人框架在 Appium 中的 Android 应用程序上按键?
【发布时间】:2016-07-15 16:27:22
【问题描述】:

我的机器人框架脚本如下所示。当我使用“输入文本”关键字时,前面的字母被删除,只显示最后一个字母。如何通过 Robot Framework 使用 Appium 模拟手动按键?

*** Settings ***
Library          AppiumLibrary
Test Setup       Setup application
Test Teardown    Teardown application

*** Variables ***
${BROWSER_NAME}          mobileOS
${PLATFORM}              Android
${USER}                  XXXXXXX
${PASSWORD}              XXXXXXX
${deviceName}            XXXXXXX
${AUTOMATIONNAME}        Appium
${HOST}                  https://XXXX.perfectomobile.com/nexperience/perfectomobile/wd/hub
${ANDROID_APP}           PUBLIC:XXXX\\XXXXXXXXXXX_X_X_XX.apk
${ANDROID_APP_PACKAGE}   XXX.XXX
${APP_ACTIVITY}          XXX.XXX.XXX

*** Test Cases ***
Test Case 01: Open application and then close it
    Log Source
    Wait until page contains element    xpath=//*[@resource-id='email']    timeout=60
    Input Text    xpath=//*[@resource-id='email']    Hello
    Capture Page Screenshot

*** Keywords ***
Setup application
    Open Application    ${HOST}
    ...                 browserName=${BROWSER_NAME}
    ...                 platform=${PLATFORM}
    ...                 user=${USER}
    ...                 password=${PASSWORD}
    ...                 deviceName=${DEVICENAME}
    ...                 automationName=${AUTOMATION_NAME}
    ...                 app=${ANDROID_APP}
    ...                 appPackage=${ANDROID_APP_PACKAGE}
    ...                 appActivity=${APP_ACTIVITY}

Teardown application
    Log Source
    Close Application

【问题讨论】:

  • 您使用的是什么版本的 Appium?
  • econoMicahel,这是我所拥有的:(1) Appium-Python-Client (0.21) (2) robotframework-appiumlibrary (1.3.5)
  • 谢谢瑞恩,但我的意思是服务器。抱歉我之前没说清楚。
  • econoMichael,我尝试在远程服务器上执行 HTTP GET (XXXX.perfectomobile.com/nexperience/wd/hub/status)(我使用的是 Perfecto Mobile 的云设备),这是 JSON我得到的响应:{"sessionId":null,"status":0,"state":"success","value":{"build":{"version":"2.48.2","re​​vision ":"41bccdd10cf2c0560f637404c2d96164b67d9d67","time":"2015-10-09 13:08:06"},"os":{"name":"Windows Server 2008 R2","arch":"amd64","version ":"6.1"},"java":{"version":"1.7.0_51"}},"class":"org.openqa.selenium.remote.Response","hCode":1260495280}
  • 嗨,Ryan,不幸的是,该信息没有给我 Appium 服务器的版本。但是,我可以说旧版本的 Appium 在 Android 输入方面存在问题。请参阅这些:github.com/appium/appium/issues/3839discuss.appium.io/t/…,我相信您可以在 Google 上找到更多信息。

标签: appium robotframework


【解决方案1】:

您可以使用 selenium 库内置关键字 Press Key 以及您要按下的某个键的相应 ASCII 码。

欲了解更多信息,请访问:https://serhatbolsu.github.io/robotframework-appiumlibrary/AppiumLibrary.html#Press%20Keycode

例子:

press keycode           66

【讨论】:

    猜你喜欢
    • 2020-06-01
    • 2020-03-31
    • 2021-04-08
    • 2018-08-27
    • 2021-11-05
    • 2021-07-19
    • 2016-12-06
    • 2019-06-04
    • 2017-05-28
    相关资源
    最近更新 更多