在做手机自动化测试过程中 ,难免会对EditText的内容进行修改,通常我们对EditText输入 内容的时候,用的是Send_key()函数。可是这个函数不会先清除原来的内容,只会在光标当前位置上输入函数参数中的数据。如果我们需要修改,必须清除原来的内容,查看了一下clear()参数不好使用,只好去网上搜索了。
 找到了如下方法:
“首先 clear(), send_keys(), set_text(),在android上不太好用是个已知的bug (在IOS上不清楚,没有测试环境),会在Appium 1.2.3上修复。请参见github的issue:https://github.com/appium/python-client/issues/53
在这之前我们可以用 press_keycode的方式实现删除,删除速度比忽略 clear()抛出的异常要快很多。
大概思路是:
1. 点击要清除的edit field
2. 全选
3. 删除
element.click()
sleep(1)   #waiting for 1 second is important, otherwise 'select all' doesn't work. However, it perform this from my view
self.driver.press_keycode(29,28672)   # 29 is the keycode of 'a', 28672 is the keycode of META_CTRL_MASK
self.driver.press_keycode(112)   # 112 is the keycode of FORWARD_DEL, of course you can also use 67“
我试了一下上面的方法,没有什么效果,只好继续寻找了。搜了好多网页,在一个网页上看到了一个不错的办法,不过可以打开的网页太多了,一忙忘记是哪儿个网页了。具体的方案就是:
先将光标移到文本框最后,然后取一下EditText中文本的长度,最后一个一个地删除文本。
具体示例如下:
def edittextclear(self,text):
'''
请除EditText文本框里的内容
@param:text 要清除的内容
'''
DRIVER.keyevent(123)
for i in range(0,len(text)):
DRIVER.keyevent(67)
使用实例:
adr=DRIVER.find_element_by_id('com.subject.zhongchou:id/edit_person_detailaddress') #找到要删除文本的EditText元素
adr.click()#激活该文本框
context2=adr.get_attribute('text')#获取文本框里的内容
self.edittextclear(context2)#删除文本框中是内容
最新内容请见作者的GitHub页:http://qaseven.github.io/

Appium框架中Android下EditText内容清除相关推荐

  1. Android下EditText中的字体不统一问题

    好久没写,今天心情好略记下解决的某bug 在一个登录界面有帐号和密码两个EditText,但是却发现两个EditText的hint的英文字体不同,看着极不协调.但是两个EditText都没有特意设置过 ...

  2. android字体不统一,Android下EditText中的字体不统一问题

    好久没写,今天心情好略记下解决的某bug 在一个登录界面有帐号和密码两个EditText,但是却发现两个EditText的hint的英文字体不同,看着极不协调.但是两个EditText都没有特意设置过 ...

  3. NGUI中UITable下文本内容过多无法自适应

    需求是: 显示数量不一定,内容不一定的多条规则,游戏玩法有多种,需要再多种玩法中互相切换.如下图:               因为每条规则之间的间距相同,前面的竖线需要跟随文本的变长而变长. 做法: ...

  4. android 更改edittext内容,Android如何实时更改edittext的内容

    为此使用TextWatcher.设置它的EditText用户类型: myEditText1.addTextChangedListener(new TextWatcher() { @Override p ...

  5. tp view html 引用css,TP5.1:将外部资源引入到框架中(css/js/font文件)

    为了让我们的框架形式变得更加好看,我们需要加入Bootstrap和Jq文件到框架中 1.通过Bootstrap和jq官网进行相关文件的下载 (1)Bootstrap下载地址:https://v3.bo ...

  6. cmstop框架中的js设计content.js

    控制cmstop框架中action的js 内容模块 找出当前页面的js的思路 01先找显示页面的当前文件.在页面文件中-->找(编辑,删除)按钮-->找获取这个按钮的js选择器 02看加载 ...

  7. ftp 服务器的目录文件,ftp服务器中文件目录下

    ftp服务器中文件目录下 内容精选 换一换 如果DDK和Atlas 200 DK Atlas 300不在同一服务器,请执行1~7.如果DDK和Atlas 200 DK Atlas 300在同一服务器, ...

  8. android中EditText一键清除实现

    基本思路: 1.在Edittext右边添加一个有着叉叉背景的Button(或图片); 2.根据Edittext的情况进行判断Button(或图片)是否要显示或隐藏. 布局效果图 布局相关代码: 获取图 ...

  9. 我可以在Android版式中加下划线吗?

    如何在Android布局xml文件中定义带下划线的文本? #1楼 Strings.xml文件内容: <resource><string name="my_text" ...

最新文章

  1. 启动SystemServer的进程:启动各种系统服务
  2. ES6实现一些常见算法
  3. linux串口上网的简单实现,Linux串口上网的简单实现(3)
  4. Exception in thread “main“ java.lang.IllegalArgumentException: http://www.dmg.org/PMML-4_4(没搞定)
  5. 关于tomcat内路径跳转的一些思考
  6. Flutter高内聚组件怎么做?阿里闲鱼打造开源高效方案!
  7. c ++产生不同的随机数_C ++程序生成随机密码
  8. python二维分布图怎么画_python3怎样画二维点图
  9. CVE-2018-14418 擦出新火花
  10. 利用 MPI 进行蒙特卡洛模拟
  11. 转载-IDEA项目左边栏只能看到文件看不到项目结构
  12. Codeforces Round #533 (Div. 2) 部分题解A~D
  13. 软件工程师中的软件维护概述
  14. 打开支付宝小程序、微信小程序
  15. 申论范文:共同富裕“一定”会考的点
  16. JavaScript中的垃圾回收和内存泄漏
  17. adb ps shell 查看进程_adb中ps命令的详解
  18. android xbox 手柄,Xbox One手柄将正式适配安卓9.0系统 《堡垒之夜》第一时间支持...
  19. git报错:[0x7FF8A8967EA0] ANOMALY: meaningless REX prefix used
  20. 【零知ESP8266教程】blynk控制RGB LED

热门文章

  1. L2-004. 这是二叉搜索树吗?-PAT团体程序设计天梯赛GPLT
  2. 性能监控的好工具 - NewRelic 简介
  3. 前后分离架构下跨域调试
  4. docker中使用的镜像加速器可以自己生成
  5. 淘宝中间件借阿里云对外 日均调千亿次
  6. Android 解决下拉刷新控件和ScrollVIew的滑动冲突问题。
  7. Java安全之数字证书
  8. IOS开发一些资源收集
  9. 项目开发中对使用的第三方库统一进行管理__添加属性表/页
  10. RHEL5 安装VMware tools