Appium Java 清空 EditText 内容碰到的问题

版权声明:本文为博主原创文章,转载请带上出处,谢谢。

  1. 问题描述:在做APP自动化测试的时候,碰到账号登录,注册时,使用clear()方法清空内容,再用sendKeys(“str”),但是在执行测试用例的时候,普通的EditText内容是可以清空的(清空上次测试输入的数据),但是密码EditText就会把光标定位到文本的第一位,追加输入sendKeys(“str”),导致测试时输入的密码为:新输入的密码+之前未清空的密码
    2.问题定位:我用的是appium1..4.16 经过重重排查,发现原来是appium的getText()方法上面除了问题,此方法在任何情况下都不会获得输入框的内容的,估自己重新封装了clear(),测试通过~~~~
    /**
     * 逐字删除编辑框中的文字
     * 碰到问题:无论如何都删除不了密码输入框的内容
     * 解决方法:不管有没有内容都 都在密码框进行回退按键删除
     * @param element
     *            文本框架控件
     */
    public void clearText(AndroidElement element) {
        String text = element.getText();
        System.out.println(
                "text length is:" + text.length() + ",text is:" + text);
        // 跳到最后 新版中sendKeyEvent()已经被删除,用pressKeyCode()取代
        // driver.pressKeyCode(KEYCODE_MOVE_END);定位到文本输入框最后
        driver.pressKeyCode(KEYCODE_A, META_CTRL_MASK);//文本内容全选
        int size = text.length() == 0 ? 50 : text.length();
        for (int i = 0; i < size; i++) {
            // 循环后退删除
            driver.pressKeyCode(BACKSPACE);//删除
        }

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值