如何判断已有的元素有多少 ,并一一进行修改

2024-01-28 05:20

本文主要是介绍如何判断已有的元素有多少 ,并一一进行修改,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

python+uiautomator2
需求是这么定义的:有5个SOS号码,可以填5个也可以不填。
测试用例描述:先判断有没有旧的SOS号码,如果有全部删除后,再去添加5个;如果没有直接添加。
问题:我如何去判定原来的SOS号码有几个,然后做到一一删除。

#   针对于上一个脚本AddSOSAndScreen.py,有这么两处不足
#   1、如果我存在的旧的SOS号码没有5个,即存在1个--4个,执行就会报错
#    raise UiObjectNotFoundError({'code': -32002, 'method': 'wait'})  uiautomator2.UiObjectNotFoundError: -32002 Client error: <> data: , method: None
#   2、每次录入新的SOS号码,因为是随机,但是有可能随机匹配相同的号码,如何随机录入不同的SOS号码............解决方式:将list_tel定义为全局变量import uiautomator2 as u2
from time import sleep
import random
import timeip = '192.168.1.104'
package = 'com.njzx.shbsetting'
device = u2.connect(ip)
path = "E:\\pycharm\\run\\UiAutomator2\\F5\\screenpicture\\"
now_time = time.strftime("%Y-%m-%d-%H-%M-%S")def start_app():    #   启动应用device.app_start(package)sleep(2)def addTel_submit():device(resourceId="com.njzx.shbsetting:id/layout_sos").click()sleep(1)#   判断是否存在旧的SOS号码,若存在先删除再添加sos_old_tel1 = device(text = "SOS1")sos_old_tel2 = device(text="SOS2")sos_old_tel3 = device(text="SOS3")sos_old_tel4 = device(text="SOS4")sos_old_tel5 = device(text="SOS5")list_old_tel = [sos_old_tel1,sos_old_tel2,sos_old_tel3,sos_old_tel4,sos_old_tel5]if list_old_tel[0].exists:for x in range(len(list_old_tel)):device(resourceId="zte.shb.sossetting:id/delete").click()device(resourceId="zte.shb.sossetting:id/btn_set").click()addTel()device.press("home")else:addTel()device.press("home")list_tel = [1774959158, 15152660926, 13222797082, 15365023694, 15951820949, 18551695620,1414141352545, 1344123313231, 124345545566]
def addTel():   #   添加SOS号码for i in range(0, 5):device(text="输入号码添加").click()sleep(1)device(resourceId="zte.shb.sossetting:id/et_num").click()sos_tel = random.choice(list_tel)list_tel.remove(sos_tel)print(list_tel)device(resourceId="zte.shb.sossetting:id/et_num").send_keys(sos_tel)device(resourceId="zte.shb.sossetting:id/btn_add").click()sleep(2)image = device.screenshot()image.save(path + now_time + '.jpg')sleep(1)if __name__ == '__main__':start_app()addTel_submit()

 

这篇关于如何判断已有的元素有多少 ,并一一进行修改的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/652576

相关文章

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

python3如何找到字典的下标index、获取list中指定元素的位置索引

《python3如何找到字典的下标index、获取list中指定元素的位置索引》:本文主要介绍python3如何找到字典的下标index、获取list中指定元素的位置索引问题,具有很好的参考价值,... 目录enumerate()找到字典的下标 index获取list中指定元素的位置索引总结enumerat

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求