【App自动化-九宫格绘制】万事须己运,他得非我贤。这篇文章主要讲述App自动化-九宫格绘制相关的知识,希望能为你提供帮助。
App自动化-九宫格绘制
from appium.webdriver.common.touch_action import TouchActionclass Base_page:
def __init__(self, driver):
self.driver = driverdef draw_lattice(self, element, location):
"
"
"
九宫格绘制
:param element: 九宫格元素定位
:param location: 第几个点,传参要为列表,元组
:return:
"
"
"
# 判断传入的元素个数
if len(location) <
5:
raise ValueError('
location 需要至少5个元素'
)
# 获取九宫格元素起始点坐标,返回字典形式如:{'
height'
: 900, '
width'
: 900, '
x'
: 90, '
y'
: 545}
size = element.rect
# 起始点x坐标
x = size['
x'
]
# 起始y坐标
y = size['
y'
]
# 九宫格高
height = size['
height'
]
# 九宫格宽
width = size['
width'
]# 每个点的坐标
points = [
{'
x'
: x + width / 6 * 1, '
y'
: y + height / 6 * 1},
{'
x'
: x + width / 6 * 3, '
y'
: y + height / 6 * 1},
{'
x'
: x + width / 6 * 5, '
y'
: y + height / 6 * 1},
{'
x'
: x + width / 6 * 1, '
y'
: y + height / 6 * 3},
{'
x'
: x + width / 6 * 3, '
y'
: y + height / 6 * 3},
{'
x'
: x + width / 6 * 5, '
y'
: y + height / 6 * 3},
{'
x'
: x + width / 6 * 1, '
y'
: y + height / 6 * 5},
{'
x'
: x + width / 6 * 3, '
y'
: y + height / 6 * 5},
{'
x'
: x + width / 6 * 5, '
y'
: y + height / 6 * 5}
]
# 创建一个绘制对象
action = TouchAction(self.driver)
# 绘制九宫格
action.press(**points[location[0] - 1]).wait(200)
# 循环其他的点进行绘制
for point in location[1:]:
action.move_to(**points[point - 1]).wait(200)
# 释放操作
action.release().perform()if __name__ == '
__main__'
:
__main__
推荐阅读
- Appium_测试步骤读取自外部文件(定制执行引擎)
- mac上unity2017设置Android打包
- 玩转-----appium的数据驱动ddt
- Android开发 run的时候出现waiting for debugger的情况,及解决问题
- AutoMapper 9.0快速上手,从老版本迁移到9.0+AutoMapper9.0和Autofac的完美结合
- APP自动化环境部署
- app测试专项--@松勤技术分享
- Android : 网络adb配置及有线端口占用解决方法
- android 按指定包名返回版本号