滚动期间如何避免使用键盘?

时间:2016-10-20 11:53:38

标签: java android testing appium

我需要测试文本框下方的按钮,为此我需要滚动屏幕,因为按钮不可见。但是当它开始滚动屏幕时,会出现键盘(因为文本框是可编辑的)并隐藏按钮并停止向下滚动。它发生在我的三星S4安卓手机(版本4.4.4)上,不在任何其他Android设备上。

我在我的窗口机器上使用appium(版本1.4.13.1)。

尝试{             ClickShareViaEmailBtn();

        if (panelShareObject.ShareTextBtn.isDisplayed()) {

            MobileUtils.navigateBack(driver);
            return true;
        }

        return false;
    } catch (Throwable e) {
        throw e;
    }

public void ClickShareViaEmailBtn()抛出Throwable {

    try {
        Thread.sleep(1000);
        // Utils.sleep(ShareViaEmail, 20, driver);
        // Thread.sleep(1000);

        panelShareObject.ShareViaEmail.click();



        MobileUtils.swipeDown(driver);


    } catch (Throwable e) {
        MobileUtils.navigateBack(driver);
        throw e;
    }
}

1 个答案:

答案 0 :(得分:0)

如果按键被键盘隐藏,则可以先隐藏键盘,然后单击按钮。

隐藏键盘 -

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final TextView testMEtext = (TextView) findViewById(R.id.testMEtext);
    //
    JSONParser parser = new JSONParser();
    try {
        //File temp = new File("C:/Windows/outdoorWeather.json");
        //String path = temp.getAbsolutePath();

        //testMEtext.setText(path);

        **Object obj = parser.parse(new FileReader("/C:/outdoorWeather.json"));**

        JSONObject jsonObject = (JSONObject) obj;

        String oTemp = (String) jsonObject.get("Fahrenheit temperature");
        testMEtext.setText(oTemp);

    }
     catch (FileNotFoundException e) {
        e.printStackTrace();
         testMEtext.setText("File not found");
    }
    catch (IOException e) {
        e.printStackTrace();
    } catch (ParseException e) {
        e.printStackTrace();
    }

}

driver.getKeyboard().sendKeys(Keys.RETURN);