测试用例编写过程中发现总要去判断一个元素是否存在,因为要自动化的去判断,走那个case 。
话不多说,看实例:
需要模拟用户登陆登出app得方法,单一场景正常实现。
异常场景:登陆时候会存在需要验证码和不需要验证码情况。如果不手动创建一个UIObjectProxy()的对象,
使用exists() ,assert_exists() 默认会调用 airtest.core.api 中的该方法。该api 种exists() 方法入参是图片格式,
然后调用cv.py 种的方法,进行 """"Airtest图像识别专用."""
综上,我们需要进行 if else 方法判断进行测试,此时我们就要手动创建UIObjectProxy()对象。
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
from poco.proxy import UIObjectProxy
auto_setup(__file__)
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
element=UIObjectProxy(poco=poco,name='com.****:id/btn_login',)
res=element.exists()
print (res)
if res:
element.click()
该方法可以完美解决在poco 条件执行case情况。