做不了大流量网站,无锡网站商城建设,建设网站用哪个好,北京外贸行业网站建设背景
在做UI自动化时#xff0c;有播放详情页的用例#xff0c;但是发现视频在播放的时候无法定位到元素或者很慢#xff0c;了解到appium在动态的页面实时获取布局元素导致定位变慢。所以只能将视频暂停在操作元素#xff0c;点击到暂停按钮又是个问题#xff0c;通过ad…背景
在做UI自动化时有播放详情页的用例但是发现视频在播放的时候无法定位到元素或者很慢了解到appium在动态的页面实时获取布局元素导致定位变慢。所以只能将视频暂停在操作元素点击到暂停按钮又是个问题通过adb 点击坐标的话不同设备就会成为问题。
解决思路
通过 adb shell uiautomator dump 到xml文件push到电脑端再进行xml解析识别到指定的元素获取到当前元素坐标再让adb进行点击操作。
import xml.etree.ElementTree as ET
# name是当前操作暂停键元素id名称
def dump_xml_return_tap(name):os.system(adb shell uiautomator dump /sdcard/layout.xml)path os.path.join(BasePath, xmls)path_file os.path.join(path, {}.xml.format(name))os.system(adb pull /sdcard/layout.xml {}.format(path_file))tree ET.parse(path_file)root tree.getroot()for i in root.findall(.//node):if name in i.get(resource-id):coord i.get(bounds)res coord.strip([])res res.replace(][, ,).split(,)logger.info(res)x int((int(res[0]) int(res[2])) / 2)y int((int(res[1]) int(res[3])) / 2)logger.info(x:{},y:{}.format(x, y))return {x: x, y: y}