学习测试11-移动自动化(略)

请添加图片描述

安卓SDK

链接: https://pan.baidu.com/s/1P4v9K2RYAGEoA5M_93hHlQ?pwd=qsbu 提取码: qsbu
复制这段内容后打开百度网盘手机App,操作更方便哦

记得配置环境变量

下载Appium软件

hub网址:https://github.com/appium/appium-desktop/releases

链接: https://pan.baidu.com/s/1P4v9K2RYAGEoA5M_93hHlQ?pwd=qsbu 提取码: qsbu
复制这段内容后打开百度网盘手机App,操作更方便哦

cmd装Appium库

pip install Appium-Python-Client==2.8.1 -i https://pypi.tuna.tsinghua.edu.cn/simple


打开模拟器看配置

在这里插入图片描述

启动Appium

1,启动adb

在这里插入图片描述

请添加图片描述

代码
江从钦 9:43:42
import time
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
from appium.webdriver.common.appiumby import   By
from time import sleep江从钦 9:44:46
# 初始化参数
desired_caps = {'platformName': 'Android',  # 手机系统'platformVersion': '7.1.2',  # 系统版本号'deviceName': '127.0.0.1:5555',  # 设备名,可以通过adb devices命令获取'appPackage': 'com.android.settings',  # 要测试的APP的Package名称(包名)'appActivity': '.Settings'# 'unicodeKeyboard': True,  # 使用自带输入法,输入中文时填True# 'noReset': True,# 'newCommandTimeout': 6000,
}
# 输入中文无效,在前置代码添加以下两行
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True江从钦撤回了一条消息江从钦 9:48:10# 和web自动化一样的设置驱动,会自动打开模拟器到指定页面
dr = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
dr.implicitly_wait(10)

在这里插入图片描述

报错

请添加图片描述

是pip install selenium==4.1.0 的版本的问题,降版本或者升版本
我用的python是3.8,Appium-Python-Client 2.8.1,selenium 4.1.0
模拟器是雷电4,appium软件是1.9.1的

================================================================

定位安卓元素

1,打开sdk自带工具(可换)

请添加图片描述

2,双击之后

请添加图片描述

在这里插入图片描述

3,直接定位元素

请添加图片描述

换页面要现在模拟器上操作,再连

在这里插入图片描述

重点

from appium.webdriver.common.appiumby import AppiumBy

driver.find_element(AppiumBy.name, 'content').click()

请添加图片描述

from time import sleep  # 时间模块 让浏览器等待,便于展示
import selenium
from appium import webdriver
from appium.webdriver.common.appiumby import By
from appium.webdriver.common.appiumby import AppiumBy'''# 初始化参数
desired_caps = {'platformName': 'Android',  # 手机系统'platformVersion': '7.1.2',  # 系统版本号'deviceName': '127.0.0.1:5554',  # 设备名,可以通过adb devices命令获取'appPackage': 'com.android.settings',  # 要测试的APP的Package名称(包名)'appActivity': '.Settings'# 'appPackage': 'com.android.launcher3',  # 要测试的APP的Package名称(包名)# 'appActivity': '.Launcher'# 'unicodeKeyboard': True,  # 使用自带输入法,输入中文时填True# 'noReset': True,# 'newCommandTimeout': 6000,
}# 输入中文无效,在前置代码添加以下两行
# desired_caps['unicodeKeyboard'] = True
# desired_caps['resetKeyboard'] = True# 和web自动化一样的设置驱动,会自动打开模拟器到指定页面   ip和端口看自己连接的
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(10)# driver.find_element(AppiumBy.ID, 'android.widget.FrameLayout').click() # 点击文件夹
#
# driver.find_element(By.CLASS_NAME, 'android.widget.TextView').click() # 点设置# driver.start_activity("com.sky.jisuanji",".JisuanjizixieActivity")
#driver.find_element(AppiumBy.ID, 'com.android.settings:id/search').click()  # 点搜索框
sleep(1)driver.find_element(AppiumBy.ID, 'android:id/search_src_text').send_keys('百年')  # 搜索
''''''# 初始化参数
desired_caps = {'platformName': 'Android',  # 手机系统'platformVersion': '7.1.2',  # 系统版本号'deviceName': '127.0.0.1:5554',  # 设备名,可以通过adb devices命令获取# 'appPackage': 'com.android.settings',  # 要测试的APP的Package名称(包名)# 'appActivity': '.Settings''appPackage': 'com.android.launcher3',  # 要测试的APP的Package名称(包名)'appActivity': '.Launcher'# 'unicodeKeyboard': True,  # 使用自带输入法,输入中文时填True# 'noReset': True,# 'newCommandTimeout': 6000,
}# 输入中文无效,在前置代码添加以下两行
# desired_caps['unicodeKeyboard'] = True
# desired_caps['resetKeyboard'] = True# 和web自动化一样的设置驱动,会自动打开模拟器到指定页面   ip和端口看自己连接的
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(10)driver.find_element(AppiumBy.name, '高德地图').click()# driver.start_activity("com.sky.jisuanji",".JisuanjizixieActivity")
#
'''# 初始化参数
desired_caps = {'platformName': 'Android',  # 手机系统'platformVersion': '7.1.2',  # 系统版本号'deviceName': '127.0.0.1:5554',  # 设备名,可以通过adb devices命令获取'appPackage': 'com.autonavi.minimap',  # 要测试的APP的Package名称(包名)'appActivity': 'com.autonavi.map.activity.SplashActivity','unicodeKeyboard': True,  # 使用自带输入法,输入中文时填True# 'noReset': True,# 'newCommandTimeout': 6000,
}# 输入中文无效,在前置代码添加以下两行
# desired_caps['unicodeKeyboard'] = True
# desired_caps['resetKeyboard'] = True# 和web自动化一样的设置驱动,会自动打开模拟器到指定页面   ip和端口看自己连接的
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
driver.implicitly_wait(10)driver.find_element(By.ID, 'com.autonavi.minimap:id/agree').click()driver.find_element(By.ID, 'com.autonavi.minimap:id/enter_amap').click()

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

c++入门----类与对象(中)

OK呀,家人们承接上文,当大家看过鄙人的上一篇博客后,我相信大家对我们的c已经有一点印象了。那么我们现在趁热打铁再深入的学习c入门的一些知识。 类的默认成员函数 首先我们学习的是我们的默认函数。不知道大家刚读这个名词是什么反应。默认…

基于Shell脚本实现文件定时拷贝

需要开发一个需求,将服务器A的 批量数据文件 定时同步 到远程服务器B中,这里我们的基本思路为: 服务器A:存放数据文件服务器B:部署shell脚本,从服务器A中拉取文件至本地目录中。 注意:这里也可…

DDR3布线时候的经验总结

摆放BGA下面的滤波电容的时候注意不要让两个电容的电源和地对着头放,手工焊接时候容易短路 阻抗层必须是实心铜皮覆盖: (3)阻抗线一定要有阻抗参考层,一般以相邻的接地或电源层做参考层(如顶层阻抗线&…

【React】详解classnames工具:优化类名控制的全面指南

文章目录 一、classnames的基本用法1. 什么是classnames?2. 安装classnames3. 导入classnames4. classnames的基本示例 二、classnames的高级用法1. 动态类名2. 传递数组3. 结合字符串和对象4. 结合数组和对象 三、实际应用案例1. 根据状态切换类名2. 条件渲染和类名…

解决腾讯云服务器登录宝塔面板忘记密码

文章目录 1.问题描述2.解决方案:3.总结 1.问题描述 宝塔忘记了密码,在腾讯云面板输入bt打算修改密码显示报错 2.解决方案: 输入如下指令 sudo bt再选择5即可修改密码(如下图) 3.总结 本质原因是自己直接输入bt…

【运算放大器】输入电压范围与输出电压范围

概述 总结运算放大器的输入电压范围和输出电压范围基本理论。 总结于《你好,放大器初识篇》。 文章目录 概述一、输入电压范围(Input Voltage Range)二、输出电压范围( V O H / V O L V_{OH}/V_{OL} VOH​/VOL​ 或者 Swing fro…

Keras入门:一维线性回归问题

目录 一、一维变量线性回归 1. 数据生成 2. 建立训练模型 3. 作图 4. 完整代码 一、一维变量线性回归 1. 数据生成 import keras import numpy as np import matplotlib.pyplot as plt #matplotlib inline xnp.linspace(0, 100, 30) #0~100之间,生成30个数 y…

前端JS特效第58波:洋葱剥皮文本变形特效

洋葱剥皮文本变形特效&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下&#xff1a; <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>Onion Skinning Text Morphing</title><link…

若依ruoyi+AI项目二次开发(智能售货机运营管理系统)

(一) 帝可得 - 产品原型 - 腾讯 CoDesign (qq.com)

ctfshow-web入门-php特性(web137-web141)

目录 1、web137 2、web138 3、web139 4、web140 5、web141 1、web137 直接调用 ctfshow 这个类下的 getFlag 函数&#xff0c;payload&#xff1a; ctfshowctfshow::getFlag 查看源码&#xff1a; 拿到 flag&#xff1a;ctfshow{dd387d95-6fbe-4703-8ec5-9c8f9baf2bb5} 在…

19 Python常用内置函数——range()

range() 是 Python 开发中非常常用的一个内置函数。该函数返回具有惰性求值特点的 range 对象&#xff0c;其中包含左闭右开区间 [start, end) 内以 step 为步长的整数。 参数 start 默认为 0&#xff0c;step 默认为 1。 print(range(5)) print(list(range(5))) print(list(r…

我在Vscode学Java泛型(泛型设计、擦除、通配符)

Java泛型 一、泛型 Generics的意义1.1 在没有泛型的时候&#xff0c;集合如何存储数据1.2 引入泛型的好处1.3 注意事项1.3.1 泛型不支持基本数据类型1.3.2 当泛型指定类型&#xff0c;传递数据时可传入该类及其子类类型1.3.3 如果不写泛型&#xff0c;类型默认是Object 二、泛型…

Java语言程序设计——篇九(1)

&#x1f33f;&#x1f33f;&#x1f33f;跟随博主脚步&#xff0c;从这里开始→博主主页&#x1f33f;&#x1f33f;&#x1f33f; 内部类 概述内部类—内部类的分类成员内部类实战演练 局部内部类实战演练 匿名内部类实战演练 静态内部类实战演练 概述 内部类或嵌套类&#…

【计算机网络】RIP路由协议实验

一&#xff1a;实验目的 1&#xff1a;掌握在路由器上配置RIPv2。 二&#xff1a;实验仪器设备及软件 硬件&#xff1a;RCMS交换机、网线、内网网卡接口、Windows 2019操作系统的计算机等。具体为&#xff1a;三层交换机1台、路由器2台。 软件&#xff1a;wireshark软件、记…

virtualbox ubuntu扩充磁盘大小

首先在虚拟存储管理里面修改磁盘大小 然后安装gparted sudo gparted 打开管理工具 选中要调整的区域右键选择调整区域大小 拖动上述位置就可以实现扩容。完成后点击应用 然后重启虚拟机即可。

WSL快速入门

1. WSL介绍 WSL文档地址&#xff1a;https://learn.microsoft.com/zh-cn/windows/wsl WSL&#xff1a;全称 Windows Subsystem for Linux&#xff0c;即windows上的Linux子系统&#xff08;虚拟机工具&#xff09;。是Win10推出的全新特性&#xff0c;可以更轻量地在Windows系统…

vue3中element tabs标签页 tab-click事件无法拿到最新值

element tabs标签页有2个常用的事件方法&#xff0c;tab-click 和 tab-change tab-click事件 tab-click事件&#xff1a;当用户点击Tab标签时触发&#xff0c;有2个返回参数&#xff0c; (pane: TabsPaneContext, ev: Event) pane.props.name 中可以获取到最新的tab页签绑定值 …

定时器+外部中断实现NEC红外线协议解码

一、前言 1.1 功能介绍 随着科技的进步和人们生活水平的提高&#xff0c;红外遥控器已经成为了日常生活中不可或缺的电子设备之一&#xff0c;广泛应用于电视、空调、音响等多种家电产品中。 传统的红外遥控器通常只能实现预设的有限功能&#xff0c;无法满足用户对设备更加智…

WHAT - 屏幕 dpr 设备像素比率

目录 一、设备像素比率 (DPR)二、DPR 与每英寸点数 (DPI)三、dpr2 和 dpr1 有什么区别设备像素比率为 1 (DPR 1)设备像素比率为 2 (DPR 2)实际区别示例代码例子 一、设备像素比率 (DPR) DPR&#xff08;设备像素比率&#xff09;常常在讨论屏幕分辨率和显示质量时使用。 设…

RockyLinux 9 PXE Server bios+uefi 自动化部署 RockLinux 8 9

pxe server 前言 PXE&#xff08;Preboot eXecution Environment&#xff0c;预启动执行环境&#xff09;是一种网络启动协议&#xff0c;允许计算机通过网络启动而不是使用本地硬盘。PXE服务器是实现这一功能的服务器&#xff0c;它提供了启动镜像和引导加载程序&#xff0c;…