自动化测试高级控件交互方法:TouchAction、触屏操作、点按,双击,滑动,手势解锁!

在自动化测试领域中,TouchAction 是一种非常强大的工具,它允许我们模拟用户在设备屏幕上的各种触摸事件。这种模拟不仅限于简单的点击操作,还包括滑动、长按、多点触控等复杂的手势。

点按与双击

点按和双击是触屏设备上最基本的操作之一。在自动化测试中,我们可以使用TouchAction的点击方法(click)和双击方法(doubleClick)来模拟这些操作。通过设定精确的坐标和点击次数,我们可以轻松地对App中的按钮、链接等元素进行测试。

# 导入Appium库from appium import webdriver
# 初始化设备、应用等配置(这里省略具体配置)# ...
# 点按操作driver.tap([(x, y), ], duration=None)  # (x, y)为点击坐标
# 双击操作element = driver.find_element_by_id("some_element_id")action = webdriver.TouchAction(driver)action.double_tap(element).perform()

滑动

滑动操作在App中非常常见,如滑动列表、切换页面等。通过TouchAction的滑动方法(swipe),我们可以模拟这些滑动操作,对App的滑动交互进行测试。

# 滑动操作start_x, start_y = 100, 150  # 起始坐标end_x, end_y = 400, 150  # 结束坐标duration = 1000  # 滑动持续时间(毫秒)action = webdriver.TouchAction(driver)action.press(x=start_x, y=start_y).wait(duration).move_to(x=end_x, y=end_y).release().perform()

手势解锁

手势解锁是许多App为了保护用户隐私而采用的一种安全机制。在自动化测试中,如何模拟这种复杂的手势操作呢?别担心,TouchAction同样可以胜任这一任务。通过设定多个点按和滑动操作的组合,我们可以轻松模拟出手势解锁的整个过程。

# 手势解锁操作(以画“Z”形手势为例)z_points = [(100, 200), (200, 100), (300, 200)]  # Z形手势的坐标点action = webdriver.TouchAction(driver)for point in z_points:    action.press(x=point[0], y=point[1]).wait(100).move_to(x=point[0]+10, y=point[1]+10).release()action.perform()

通过以上高级控件交互方法,我们可以更加全面、准确地测试App的各种功能和交互体验。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Qt 和 ECharts 进行数据可视化

文章目录 示例图表预览折线图散点图柱状图使用 Qt 和 ECharts 进行数据可视化一、准备工作1. 安装 Qt2. 准备 ECharts二、在 Qt 中使用 ECharts1. 创建 Qt 项目2. 配置项目文件3. 在 UI 中添加 WebEngineView4. 加载 ECharts三、创建折线图、散点图和柱状图1. 折线图2. 散点图3…

Jupyter Notebook的安装教程

以下是一个详细的 Jupyter Notebook 安装教程,适用于大多数操作系统: Windows 系统 1. 安装 Python 访问 Python 官网,下载并安装适合你系统的 Python 版本。在安装过程中,确保勾选“Add Python 3.x to PATH”选项,…

sizeof跟strlen的用法及差异

sizeof是一个操作符,不是函数; 而strlen是一个库函数; sizeof是计算所占内存空间的,不管你内容是什么,只要知道占多少内存, 而strlen是跟内容有关的,它是计算字符串长度的(字符数…

java —— tomcat 部署项目

一、通过 war 包部署 1、将项目导出为 war 包; 2、将 war 包放置在 tomcat 目录下的 webapps 文件夹下,该 war 包稍时便自动解析为项目文件夹; 3、启动 tomcat 的 /bin 目录下的 startup.bat 文件,此时即可从浏览器访问项目首页…

diff 算法原理及实现

Diff 算法是用于比较两个虚拟 DOM 树的差异,并以最小的操作代价将旧的 DOM 树更新为新的 DOM 树的一种算法。 Diff 算法的高效实现对于提高前端应用的性能和用户体验至关重要,尤其是在频繁更新组件状态导致 DOM 频繁更新的情况下。 1. 原理 1.1 树层级…

【Linux】文件内容查看命令——cat,tac,more,less,head,tail,od

如果我们要查看一个文件的内容时,该如何是好? 这里有相当多有趣的命令可以来分享一下:最常使用的显示文件内容的命令可以说是cat与more及less了。 此外,如果我们要查看一个很大的文件(好几百MB时),但是我们…

java中Comparator函数的用法实例?

在Java中,Comparator接口用于比较两个对象的顺序,常用于集合的排序。自Java 8开始,Comparator接口得到了增强,提供了许多默认方法,使得排序逻辑更加灵活和强大。下面将通过几个实例来展示Comparator的用法。 示例1&am…

使用PyTorch设计卷积神经网络(CNN)来处理遥感图像Indian Pines数据集

目录 使用PyTorch设计卷积神经网络(CNN)来处理遥感图像Indian Pines数据集,以下是设计和实现这些网络的步骤: 1.数据准备: 1.1 首先,需要加载Indian Pines数据集。 1.2 将数据集转换为PyTorch张量&#x…

LLM推理引擎怎么选?TensorRT vs vLLM vs LMDeploy vs MLC-LLM

LLM擅长文本生成应用程序,如聊天和代码完成模型,能够高度理解和流畅。但是它们的大尺寸也给推理带来了挑战。有很多个框架和包可以优化LLM推理和服务,所以在本文中我将整理一些常用的推理引擎并进行比较。 TensorRT-LLM TensorRT-LLM是NV发布…

imazing电脑怎么下载 imazing怎么下载软件 使用iMazing下载和卸载Apple设备上的应用程序

iMazing官方版是一款管理苹果设备的软件,是一款帮助用户管理 iOS手机的PC端应用程序,能力远超 iTunes 提供的终极 iOS 设备管理器。在iMazing官方版上与苹果设备连接后,可以轻松传输文件,浏览保存信息等,功能比iTunes更…

泛微开发修炼之旅--35关于基于页面扩展和自定义按钮实现与后端交互调用的方法

文章链接:35关于基于页面扩展和自定义按钮实现与后端交互调用的方法

vue3中使用 tilwindcss报错 Unknown at rule @tailwindcss

解决方法: vscode中安装插件 Tailwind CSS IntelliSense 在项目中的 .vscode中 settings.json添加 "files.associations": {"*.css": "tailwindcss"}

基于YOLOv9的脑肿瘤区域检测

数据集 脑肿瘤区域检测,我们直接采用kaggle公开数据集,Br35H 数据中已对医学图像中脑肿瘤位置进行标注 数据集我已经按照YOLO格式配置好,数据内容如下 数据集中共包含700张图像,其中训练集500张,验证集200张 模型训…

Perl语言入门到高级学习

Perl语言介绍 Perl,全称为Practical Extraction and Report Language,即“实用报表提取语言”,是一种高级、通用、直译式、动态的编程语言。Perl最初由Larry Wall设计,并于1987年12月18日首次发布。经过多年的不断发展和更新,Perl已经成为一种功能丰富且应用广泛的计算机程…

AI绘画:艺术与科技的交融,创新浪潮与无限可能

在科技日新月异的当下,AI 绘画作为人工智能领域的一颗璀璨新星,正以惊人的速度在国内崭露头角,引发了艺术与技术交融的全新变革。随着人工智能技术的飞速发展,AI绘画已成为艺术与科技交融的新宠。2024年,AI绘画行业在国…

昇思MindSpore学习笔记2-03 LLM原理和实践--基于MindSpore通过GPT实现情感分类

摘要: 昇思MindSpore AI框架中使用openai-gpt的方法、步骤。 没调通,存疑。 一、环境配置 %%capture captured_output # 实验环境已经预装了mindspore2.2.14,如需更换mindspore版本,可更改下面mindspore的版本号 !pip uninsta…

Autogen智能体实战-Autogen框架介绍

文章目录 一,Autogen简介二,Autogen原理1,Autogen原理图解2,拆解Autogen是如何完成绘制特斯拉股票趋势图的 这篇文章介绍一个开源的Agent框架-微软的Autogen。 一,Autogen简介 官网:https://microsoft.github.io/aut…

前端页面操作防抖函数封装及应用

1、使用背景 函数防抖其实是作为一名前端同学必备的技能了,之前一直偷懒都借用页面loading或者按钮loading来实现。最近在开发微信小程序,过多的loading会带来不好的体验,同时在跳转页面的时候,不好用loading来防抖。所以就会出现…

【Unity】RPG2D龙城纷争(九)战斗系统之角色移动

更新日期:2024年7月8日。 项目源码:第五章发布(正式开始游戏逻辑的章节) 索引 简介一、角色战斗状态二、角色移动1.角色起飞(移动前)2.角色降落(移动后)3.生成移动路径4.角色移动三、整合简介 之前的章节做了这么多准备工作,现在终于要进入我们最为核心的战斗系统的编…

在idea中查看某个接口的所有实现类图

一、选中某个接口右键 ---> Diagrams ---> show Diagrams,然后就会进入一个新的 tab 页; 二、然后在出来的图上选中某个接口右键 ---> show Implementations,就会显示选中接口的所有实现类列表; 三、最后 ctrl A 全部选…