学习测试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://xiahunao.cn/news/3269182.html

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

相关文章

【Node.js入门精要】从零开始的开发之旅

说明文档:Node.js 教程_w3cschool 概念 Node.js 是一个开源、跨平台的 JavaScript 运行时环境,基于 Chrome 的 V8 引擎构建,专为构建高性能和可扩展的网络应用程序而设计的服务端语言。它采用事件驱动、非阻塞 I/O 模型,能够处理大…

【Django】前端技术HTML常用标签(开发环境vscode)

文章目录 安装两个常用插件HTML常用标签定义文档类型DOCTYPE网页的结构html/head//title/body/div标题h1/h2/h3/h4/h5分割线hr段落 p列表ul/li,ol/li超链接a文本span图片img按钮button表格table(table、tr、th、td)表单form 安装两个常用插件…

学习大数据DAY25 Shell脚本的书写2与Shell工具的使用

目录 自定义函数 递归-自己调用自己 上机练习 12 Shell 工具 sort sed awk 上机练习 13 自定义函数 name(){ action; } function name { Action; } name 因为 shell 脚本是从上到下逐行运行,不会像其它语言一样先编译,所以函数必 须在调…

React Router-v6.25.1

以下例子是根据vitereactts构建的,使用路由前先安装好这些环境!!!! 1、路由的简单使用 首先要创建一个浏览器路由器并配置我们的第一个路由。这将为我们的 Web 应用启用客户端路由。 该main.jsx文件是入口点。打开它…

前端知识--前端访问后端技术Ajax及框架Axios

一、异步数据请求技术----Ajax Ajax是前端访问后端的技术,为异步请求(不刷新页面,请求数据,只更新局部数据)。 例如:在京东网站中搜索电脑,就会出现一些联想搜索,但此时页面并没有…

Pytorch深度学习实践(5)逻辑回归

逻辑回归 逻辑回归主要是解决分类问题 回归任务:结果是一个连续的实数分类任务:结果是一个离散的值 分类任务不能直接使用回归去预测,比如在手写识别中(识别手写 0 − − 9 0 -- 9 0−−9),因为各个类别…

动态获取配置文件中的配置参数,当配置文件中的参数修改之后,不需要重启项目

这里写目录标题 一、本地开发环境二、nocas环境配置 一、本地开发环境 如果是在本地开发环境中,读取的配置文件是本地根目录下的application.properties文件: 路径为配置文件的绝对路径。 配置文件里面配置的参数需要和获取的参数名称相互对应 通过Au…

linux怎么创建python

第一步,创建一个test文件夹。 第二步,打开终端进入该文件。 第三步,vim test.py。 第四步,编写代码。 第五步,编辑好之后,按Esc键切换到命令模式,然后输入:wq,再按回车键即可自动保存…

Java突击复习小练习,附带讲解

练习: 1.下面的代码在主方法中可以正常执行吗,如果不能,为什么? 2.已知i的值为10,请问在情况一和情况二中j的值是否相同呢?如果不相同,它们的值分别是多少呢?为什么? 3.在主方法运…

3D打印:重塑模具制造业的创新引擎

在科技浪潮的推动下,3D打印技术正以前所未有的速度渗透到制造业的核心,尤其在模具制造领域,它正引领一场深刻的创新革命。该技术通过颠覆传统制造范式,显著优化了模具生产的复杂流程,实现了从设计到成品的一体化的高效…

系统架构设计师教程 第4章 信息安全技术基础知识-4.3 信息安全系统的组成框架4.4 信息加解密技术-解读

系统架构设计师教程 第4章 信息安全技术基础知识-4.3 信息安全系统的组成框架 4.3 信息安全系统的组成框架4.3.1 技术体系4.3.1.1 基础安全设备4.3.1.2 计算机网络安全4.3.1.3 操作系统安全4.3.1.4 数据库安全4.3.1.5 终端安全设备4.3.2 组织机构体系4.3.3 管理体系4.4 信息加…

【PostgreSQL 16】专栏日常

本专栏从 3 个月前开始着手准备&#xff0c;利用周末及节假日的时间来整理。 ldczzDESKTOP-HVJOUVN MINGW64 ~/mypostgres (dev) $ git lg |tee * 7a7f468 - (HEAD -> dev, origin/main, origin/dev, main) 完成服务端编程的初步整理 (6 minutes ago) <Laven Liu> * …

masscan 端口扫描——(Golang 简单使用总结)

1. 前言 最近要做一个扫描 ip 端口的功能 扫描的工具有很多&#xff0c;但是如何做到短时间扫描大量的 ip 是个相对困难的事情。 市场上比较出名的工具有 masscan和nmap masscan 支持异步扫描&#xff0c;对多线程的利用很好&#xff0c;同时仅仅支持 syn 半开扫描&#xff…

GraphHopper-map-navi_路径规划、导航(web前端页面版)

文章目录 一、项目地址二、踩坑环境三、问题记录3.1、graphhopper中地图问题3.1.1. getOpacity不存在的问题3.1.2. dispatchEvent不存在的问题3.1.3. vectorLayer.set(background-maplibre-layer, true)不存在set方法3.1.4. maplibre-gl.js.map不存在的问题3.1.5. Uncaught Ref…

聊聊基于Alink库的特征工程方法

独热编码 OneHotEncoder 是用于将类别型特征转换为独热编码的类。独热编码是一种常用的特征编码方式&#xff0c;特别适用于处理类别型特征&#xff0c;将其转换为数值型特征。 对于每个类别型特征&#xff0c;OneHotEncoder 将其编码成一个长度为类别数量的向量。 每个类别对…

在线教育数仓项目(数据采集部分1)

文章目录 数据仓库概念项目需求及架构设计项目需求分析系统数据流程设计框架版本选型集群规模估算集群资源规划设计 数据生成模块目标数据页面事件曝光启动播放错误 数据埋点主流埋点方式&#xff08;了解&#xff09;埋点数据上报时机埋点数据日志结构 服务器和JDK准备服务器准…

JMeter接口测试:测试中奖概率!

介绍 Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具&#xff0c;用于对软件做压力测试。JMeter 最初被设计用于 Web 应用测试&#xff0c;但后来扩展到了其他测试领域&#xff0c;可用于测试静态和动态资源&#xff0c;如静态文件、Java 小服务程序、CGI 脚本、J…

【机器学习】解开反向传播算法的奥秘

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 解开反向传播算法的奥秘反向传播算法的概述反向传播算法的数学推导1. 前向传播2…

【计算机网络】WireShark和简单http抓包实验

一&#xff1a;实验目的 1&#xff1a;熟悉WireShark的安装流程和界面操作流程。 2&#xff1a;学会简单http的抓取和过滤&#xff0c;并分析导出结果。 二&#xff1a;实验仪器设备及软件 硬件&#xff1a; Windows 2019操作系统的计算机等。 软件&#xff1a;WireShark、…

草图也能秒变完整画稿?三星 Galaxy Z Fold6 、Flip6硬件升级

在科技的不断进步中&#xff0c;智能手机行业的竞争愈发激烈&#xff0c;各大厂商纷纷推出创新产品以吸引消费者。 最近&#xff0c;三星在 Galaxy Unpacked 发布会上就带来了 Galaxy Z Fold6 和 Flip6 两款手机新品&#xff0c;这两款设备不仅在硬件上有所突破&#xff0c;更…