在Appium Testing中输入"Enter key"

pra*_*k03 7 selenium automation android android-testing appium

如何在Android自动化测试中从Appium中的软键盘发送/按Enter键?
我尝试了几个选项,但它们都没有工作 - 而不是按键,它们正在清除在文本区域中输入的文本.下面是代码(使用JAVA语言):

String app_package_name = "abc.xyz.android";

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName", "Nexus_5X_API_23");
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("appPackage", app_package_name);
capabilities.setCapability("appActivity", app_package_name + ".activity.StartupActivity_");

String url = "http://127.0.0.1:4723/wd/hub";
AndroidDriver driver = new AndroidDriver(new URL(url), capabilities);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

By password = By.id(app_package_name_with_id + "et_password");
WebElement enterPassword = driver.findElement(password);
enterPassword.click();
driver.getKeyboard().sendKeys("12345");

driver.getKeyboard().sendKeys(Keys.ENTER); // THIS IS NOT WORKING.
driver.getKeyboard().sendKeys(Keys.RETURN); // THIS IS ALSO NOT WORKING.
driver.pressKeyCode(AndroidKeyCode.ENTER); // THIS IS ALSO NOT WORKING.
driver.pressKeyCode(AndroidKeyCode.KEYCODE_NUMPAD_ENTER); // SAME HERE.
enterPassword.sendKeys(Keys.ENTER); // SAME HERE.
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我实现它吗?

小智 6

你可以尝试一下,它适用于所有设备

driver.executeScript("mobile:performEditorAction", ImmutableMap.of("action", "done"));
Run Code Online (Sandbox Code Playgroud)


Shu*_*ain 0

您可以使用机器人类:-

     Robot robot;
    try {
        robot = new Robot();
         robot.keyPress(KeyEvent.VK_ENTER);
         robot.keyRelease(KeyEvent.VK_ENTER);
    } catch (AWTException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

如果您的测试用例要在后台执行,则不建议这样做。机器人框架将直接进入,而不声明任何内容。

或者您可以尝试下面的代码:-

driver.pressKeyCode(AndroidKeyCode.KEYCODE_NUMPAD_ENTER );
Run Code Online (Sandbox Code Playgroud)

来源:-(还有其他方式按回车键):-

https://discuss.appium.io/t/how-to-click-enter-after-entering-some-text/3136/4

希望它能帮助你:)