扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
使用appium测试app自动化查找元素时比较麻烦,没有selenium查找web页面元素方便,
在做网站、网站建设过程中,需要针对客户的行业特点、产品特性、目标受众和市场情况进行定位分析,以确定网站的风格、色彩、版式、交互等方面的设计方向。创新互联还需要根据客户的需求进行功能模块的开发和设计,包括内容管理、前台展示、用户权限管理、数据统计和安全保护等功能。
并且局限性也比较高,使用起来不是太灵活。
那下面介绍下我们一般经常使用到的一些查找元素的方法(已锤子手机为例)。
有两个工具可以用来查找元素:安卓sdk自带的uiautomator viewer;appium最新版1.0.2。
建议使用uiautomator viewer,个人感觉使用起来要方便些,包括复制元素的值也比较方便。
先链接锤子手机:
方法有很多,:
通过xpyth定位:findElementByXPath("//android.widget.TextView[10]")xpath下标从1开始,使用完整的classname
通过text name:find_element_by_name(name对应uiautomator扫描后text的内容)
通过id:find_element_by_id(id对应resource-id)
通过classname定位:find_element_by_class_name(class_name对应class)
通过accessibility id:find_element_by_accessibility_id(accessibility_id对应content-desc)
定位到某个文本框,并输入内容:
driver.find_element_by_id("xxxxx").send_keys("123456")
滑动屏幕:
获取屏幕尺寸 width=self.driver.get_window_size()['width']height=self.driver.get_window_size()['height']
滑动屏幕 driver.swipe(width*9/10, height*1/2, width*1/10, height*1/2, 1000)
在手机上打开头条,只介绍常用的三种:
find_element_by_name(name对应uiautomator扫描后text的内容)
脚本中输入这个name就可以定位到这个元素,然后做相应的操作,比如click()等
find_element_by_id(id对应resource-id,用这个查找比较准确)
用resource-id查找是最准确的!
find_element_by_class_name(class_name对应class,用这个一般都查找出的是一堆的数据,因为有很多地方都使用同一个class name)
这个是名为android.widget.TextView的classname,其他的行全部都是这个name
看看,其他的也是这个class name,所以用这个查找会找出一个列表的数据出来,如果想单独取某个行的数据,就需要使用for循坏或者下脚标来取[X]
在做app自动化时需要花很大的精力去提前获取的数据并整理,因为很多数据是不能一一
对应的。
有问题可以加QQ群:610845268
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流