App自动化-九宫格绘制

App自动化-九宫格绘制

from appium.webdriver.common.touch_action import TouchAction

class Base_page:
    def __init__(self, driver):
        self.driver = driver

    def 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__

原文地址:https://www.cnblogs.com/zhouxiongjie/p/12436186.html

时间: 2024-08-04 22:22:12

App自动化-九宫格绘制的相关文章

app自动化环境搭建之Appium

app自动化环境搭建之Appium 1. 安装node.js (1) 安装node.js 我的电脑是64位的,选择64位的安装包 (2) 验证安装node.js是否安装成功 运行--> cmd-->  输入 node -v ,显示版本号,说明安装成功:若安装失败,检查电脑版本是否与安装版本一致 2.配置Android SDK环境 (1) 下载adb压缩包,并解压到D盘根目录 adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过ADB我们可以在Eclipse中方面通

APP自动化框架LazyAndroid使用手册(1)--框架简介

作者:cryanimal  QQ:164166060 APP自动化简介 APP自动化,即通过自动化的方式,对APP施行一系列的仿按键输入.触摸屏输入.手势输入等操作,以达到对APP的功能进行自动化测试的目的. 其一般过程如下图所示: APP自动化常用工具简介 Monkey Monkey 是Android SDK 自带的自动化测试工具,可以运行在模拟器里或实际设备中,它向系统发送随机的用户事件流,如按键输入.触摸屏输入.手势输入.Sensor 事件等, 实现对正在开发的应用程序进行表现或者压力测试

用java和junit编写app自动化测试用例

package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import

用python和unittest编写app自动化测试用例

import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpClass(self): cap = {} cap['platformName'] = 'Android' cap['platformVersion'] = '4.4.2' cap['deviceName'] = '7N2SSE158P001892' cap['noReset'] = 'noReset'

App自动化测试-1.App自动化介绍和环境搭建

*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin: 15px 0; } /* HEAD

APP自动化中三大定位工具

我们在做APP自动化的时候,定位是很重要的,就像做webUI自动化一样,但是个人觉得app定位比web要复杂点,毕竟app定位表达式写了之后并没有工具验证改表达式是唯一的,所以导致工作量很大 今天主要总结下我们做app自动化需要用到的3大定位工具 uiautomatorviewer 这个工具是用我们安装的SDk工具里面自带的Android工具来定位的,这个工具并不需要我们自己安装,在我们打进adb环境的时候就已经下载好了 位置:就在我们自己的sdk目录下面的tools下面的根目录 我们要使用和这

App自动化(2)--Python&amp;Appium实现安卓手机九宫格解锁

九宫格作为常见的手势密码,我们在使用的时候,是从起点开始,按住不放,然后滑动手指,直到最后一个点松开手指,如果与设置的手势密码匹配,则解锁成功. 现在大多数九宫格作为一个元素存在,很难定位到每一个点. 解决思路有两个,一是用指针定位每一个点:二是先获取元素坐标位置,再获取元素大小,然后切割图片,分别计算出每个点的坐标: 本次笔记记录第一个解决思路: 目的:创建一个Unlock类,按顺序传入九宫格的解锁数字即可实现主屏幕解锁 模拟器:夜神 1.坐标定位到每个点 A.夜神模拟器开发者选项中开启指针位

android app自动化测试之UIAutomator

一.UIAutomator Android自动化测试工具有很多,但是要免费.易上手,本人觉得就直接使用Eclipse自带的UIAutomator就不错.测试人员无需跟开发要代码信息,只要手机上有安装之后的APP自己就能做出自动测试用例,况且一通百通,就算是不满足于UI测试的,找个简单易上手的先明白原理,再深入了解其它复杂工具也会轻松很多.何乐而不为呢? UIAutomator是Eclipse自带的用于UI自动化测试工具,可仿真APP上的单击.滑动.输入文本等操作. 在使用之前,需要安装好java

【Android端 APP GPU过度绘制】GPU过度绘制及优化

一.Android端的卡顿 Android端APP在具体使用的过程中容易出现卡顿的情况,比如查看页面时出现一顿一顿的感受,切换tab之后响应很慢,或者具体滑动操作的时候也很慢. 二.卡顿的原因 卡顿的原因可能有很多种,比如: 1.CPU过高 2.内存溢出 3.主线程处理IO操作等 - 其中过度绘制,是一个容易被忽视但也最好修改并且能够看到效果的内容,其中Android官网给出的过度绘制相关内容见:https://developer.android.com/topic/performance/re