一、前言
之前我们介绍了Poco的节点关系,以及获取节点属性的一些方法,具体详情可以点击查看我们历史推文~今天我们就来看看我们对Poco节点还能进行什么操作吧!
二、Poco节点操作详解
2.1 修改文本类属性值:setattr(typename, val)
在日常测试中,有些文本类属性需要修改的时候,可以使用setattr(typename, val)
这个方法,通过输入属性名以及需要修改进去的内容即可。但是需要注意的是,很多属性如:name
、pos
等等是不推荐修改的,尤其是editalbe
为**False
**的节点,不建议修改该节点的所有属性,它们的修改可能会导致出现意外和误报错误。
使用的方式如下:
poco("com.sonyericsson.conversations:id/conversation_edit_text").setattr("text","我要发短信")
2.2 输入文字:set_text()
在日常输入的时候,我们可以使用set_text()
这个方法,但是在使用set_text()
之前,需要先执行一遍click
点击操作,激活文本框后,再执行输入操作。
使用方法如下:
poco("com.sonyericsson.conversations:id/conversation_edit_text").click()
poco("com.sonyericsson.conversations:id/conversation_edit_text").set_text("我要发短信")
如果在使用set_text()
无法输入,或出现相关报错的话,可以更换使用Airtest的text()
方法去进行输入即可。
poco("com.sonyericsson.conversations:id/conversation_edit_text").click()
text("我要发短信")
2.3 设置节点焦点:focus(f)
跟Airtest的图片一样,在Poco节点也有一定的操作点范围,且focus
所使用的是局部归一化坐标系,因此同样是UI框的左上角为原点,x轴向右,y轴向下,并且UI框长宽最大坐标均为1。所以一般节点默认的操作点坐标为[0.5, 0.5]
。
在日常使用过程中,使用比较多的场景有以下几种情况:
2.3.1 内部偏移
如果需要对节点的UI框内的其他点进行操作的话,则需要利用focus
重新自定义一个操作点,也就是设置内部偏移量,调用这个方法将返回已设置了新操作点的Poco节点,重复调用则以最后一次所调用的为准。
# 内部偏移
poco