Appium环境搭建,华为nova8鸿蒙系统(包括环境安装,环境配置)(一)
1.安装代码工具包
pip install appium-python-client
2.安装JDK
参考链接:
ant+jmeter+jenkins从0实现持续集成(Windows)-CSDN博客
3.下载并安卓SDK
下载地址:AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载
注意:adb这个工具很重要,
存在于sdk的 **\SDK安装路径\sdk\platform-tools
目录下
上面的地址是android sdk下载的国内网址,有梯子的可以翻墙找国外的下载,我是用国内的这个网址。找到下面sdk tools
这里选择的sdk tools工具,两个版本都可以,如果有更新会有不同,根据各自需求选择版本即可,上面的版本号我不太清楚所以选了下面的。
这里注意exe和zip的区别,我两个都试过,exe安装会直接安装在c盘,没得你选。如果比较在意这点的人建议和我一样选zip文件。
解压后目录
直接双击运行这个SDK Manager.exe文件,开始安装
如下,正处于安装过程中。
有几个必须要安装的,如上图所示的,Tools文件夹里面的Android SDK Tools(这个我们在之前的一步已经下载好了的,一般不会让你再安装了,不过有可能会让你更新),然后就是Android SDK Platform-tools和Android SDKBuild-tools,注意只需要下载最新的版本就行了
然后就是API的选择了。这里提供了Android 2.2到Android 8.x的很多版本的API,新手直接选一个最新的就算了,因为Android是向下兼容的。其他的以后你要用到了在下载就行了(因为下载安装的速度实在太慢)
如果你选择其他,比如我选择的是9,那你要把默认选择的那个最新的勾掉
这里需要说明的是,如果你以后不打算用模拟器调试,而是一直用真机来调试的话,那么就可以不用装“system images“了。不过新手的话,不知道怎么选择,还是建议直接全部勾上吧
有一个没有安装成功,重新安装了几次,也没成功;反正是图片没安装成功,没成功就算了
看到后面显示installed就代表安装成功了。
最后就是extras文件夹中的东西了
理论上来说,extras中的东西如果网速允许,时间充沛的话,就都下载了吧,因为都是好东西。不过一开始安装的话,可以只用安装上图中的两个, 下载Android Support Repository和Google USB Driver
安装过程中注意:如果安装的时候发现前面有一个红色的叉叉标志,可以直接点击该行,你会看到一个Accept License选项,直接点击即可,然后再点击Install按钮进行安装,如下正处于安装中,等待完成就可以关闭了。
Accept License直接勾选全部所选内容
点击Install后,
注意:下载可能比较慢,耗费时间长,最重要的是保证网络好,没下载成功的,就重进重选重新下载。
用zip的话,解压到F盘之后,需要配置环境变量。在“我的电脑”右键,“属性”,“高级系统设置”,“高级”,“环境变量”,“系统变量”增加一个环境变量“ANDROID_HOME”,浏览到对饮你解压的android sdk目录。
之后找到环境变量“path”,添加下面几句内容:
F:\网课学习的笔记\appium\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools
F:\网课学习的笔记\appium\android-sdk_r24.4.1-windows\android-sdk-windows\tools
F:\网课学习的笔记\appium\android-sdk_r24.4.1-windows\android-sdk-windows\build-tools\29.0.3
最后可以检验是否成功配置好环境变量;显示版本,表示安装成功!
Windows图标+R:cmd命令打开命令行窗口,输入adb
4.安装appium server desktop
Appium安装提供两种方式:桌面版和命令行版。其中桌面版又分为 Appium GuI 和 Appium Desktop 。作为初学者,用桌面版,对初学者比较友好。
官网下载地址:Releases · appium/appium-desktop · GitHub
找到Appium-Server-GUI-windows-1.22.3-4.exe
双击Appium-Server-GUI-windows-1.22.3-4.exe安装
等待安装完成。
桌面图标双击打开appium
检查配置
5.手机端设置
以华为手机为例(华为nova8):
① 打开手机USB调试,进入 设置-关于手机,多次点击版本号,激活USB调试
然后在“设置”中,找到“开发人员选项”(或者直接在设置中搜索开发人员选项),打开“USB 调试”,如果有‘“仅充电”模式下允许ADB调试’,就打开,这样就不用设置usb传输模式,如果没有,就下来系统菜单找到“USB的设置”选项卡,点击进入设置传输文件模式即可。
注意:
◆确保电脑上没有其他的adb程序软件,如杀毒软件,安全管家,手机助手
◆确保手机端开发者选项中对应的adb权限全部打开
插入手机usb
然后打开cmd输入adb devices(usb调试打开,用adb应该就可以连上了)
出现如下图所示,代表手机和电脑连上了
如有对应的设备信息,说明连接成功,如果没有多尝试几次,或者换一条usb数据线。
接下来需要通过adb命令获取一系列信息
华为(鸿蒙系统)貌似归于Android一类的,所以配置信息中,platformName是Android。
C:\Users\Admin>adb shell getprop ro.build.version.release
12C:\Users\Admin>adb devices -l
List of devices attached
NBLVB21204000278 device product:ANG-AN00 model:ANG_AN00 device:HWANG transport_id:2C:\Users\Admin>adb shell dumpsys activity | findstr "mResume"
mResumedActivity: ActivityRecord{d95ca3d u0 com.sina.weibo/.MainTabActivity t3783}
第一个命令结果是12,即Android系统版本(platformVersion)是12
第二个命令查看设备的详细信息,ANG-AN00 是设备名(deviceName)
第三个命令可以找到你当前手机正在打开的应用信息,也就是说你要测什么app就提前打开这个app,然后通过第三个命令获取这个app的信息,后面appium连接的时候就会打开这个app。我打开的是微博,所以,
com.sina.weibo 就是你对应appPackage
.MainTabActivity就是对应的appActivity
{"platformName": "Android","platformVersion": "12","deviceName": "ANG-AN00","appPackage": "com.sina.weibo","appActivity": ".MainTabActivity",#自动化引擎"automationName":"UiAutomator2",#确保自动化之后不重置app"noReset": true
}
注:
如果打开的是其他软件,比如说打开了boss直聘
com.hpbr.bosszhipin 就是你对应appPackage
.module.main.activity.MainActivity 就是对应的appActivity
对应appium server配置
{"platformName": "Android","platformVersion": "12","deviceName": "ANG-AN00","appPackage": "com.hpbr.bosszhipin","appActivity": ".module.main.activity.MainActivity",#自动化引擎"automationName":"UiAutomator2",#确保自动化之后不重置app"noReset": true
}
6.环境验证
(1)启动appium server
点击放大镜
如果弹出网址,说明你当前appium的版本比较新,appium server和appium inspector已经分离成两个软体。我所下载的新版appium1.22.3与inspector分离(appium1.22.X后的版本都需要单独下载Appium-Inspector)
所以在该网页下载Appium-Inspector,点击Tags
选择最新版下载
下载后双击Appium-Inspector-2024.6.1-win.exe
安装即可(安装简单,自行安装)
安装完成后,桌面多了个图标
双击打开
按照如下设置:
点击start Session后,此时还是不能对微博进行元素定位
选择元素,只能选择整个界面,无法选择单个元素
造成的原因:appium server报错(500,404,304等)
尝试解决一:加上这行(没有完全解决appium报错)
#设置session的超时时间,单位秒,默认60s
"newCommandTimeout":6000,
再点击start session,如下图,可对单个元素定位了(不是每次都可以,待研究)
尝试解决二:可以重启appium server,重新再start session试试
注意:(1)首次点击start session时,要确认有如下信息(微博软件是打开的),否则可能会报错
(2)运行后,手机的变化
首次运行后,手机自动新增两个app
appium-settings(应用会自动安装并启用)桌面会显示
UiAutomator2(Appium优化后的安卓底层自动化驱动)
注意:UiAutomator2再手机桌面是看不到的,得再应用管理才有
以上两个app确保可以自动安装,并开启所有权限
环境安装到此就结束了!!!
最后,如需要安装包,可私聊我,或在资源包中自行下载!!!
相关文章:

Appium环境搭建,华为nova8鸿蒙系统(包括环境安装,环境配置)(一)
1.安装代码工具包 appium python client pip install appium-python-client 2.安装JDK 参考链接: antjmeterjenkins从0实现持续集成(Windows)-CSDN博客 3.下载并安卓SDK 下载地址:AndroidDevTools - Android开发工具 Android…...

【React】React18 Hooks 之 useReducer
目录 useReducer案例1:useReducer不带初始化函数案例2:useReducer带初始化函数注意事项1:dispatch函数不会改变正在运行的代码的状态注意事项2:获取dispatch函数触发后 JavaScript 变量的值注意事项3:触发了reducer&am…...

【cocos creator】2.4.x实现简单3d功能,点击选中,旋转,材质修改,透明材质
demo下载:(待审核) https://download.csdn.net/download/K86338236/89527924 const {ccclass, property } = cc._decorator;const enum box_color {NORMAL = 0,DASHED_LINE = 1,//虚线TRANSLUCENT = 2,//半透明 }@ccclass export default class main extends cc.Component {…...

Android EditText+ListPopupWindow实现可编辑的下拉列表
Android EditTextListPopupWindow实现可编辑的下拉列表 📖1. 可编辑的下拉列表✅步骤一:准备视图✅步骤二:封装显示方法✅步骤三:获取视图并监听 📖2. 扩展上下箭头✅步骤一:准备上下箭头icon图标✅步骤二&…...

dify/api/models/task.py文件中的数据表
源码位置:dify/api/models/task.py CeleryTask 表结构 字段英文名数据类型字段中文名字备注idIntegerID自增主键,任务ID序列task_idString任务ID唯一任务标识statusString状态默认值为 PENDINGresultPickleType结果可为空date_doneDateTime完成日期默认…...

hdu物联网硬件实验3 按键和中断
学院 班级 学号 姓名 日期 成绩 实验题目 按键和中断 实验目的 实现闪灯功能转换 硬件原理 无 关键代码及注释 /* Button Turns on and off a light emitting diode(LED) connected to digital pin 13, when pressing a pushbutton attached…...

pytorch通过 tensorboardX 调用 Tensorboard 进行可视化
示例 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader from torchvision import datasets, transformsfrom tensorboardX import SummaryWriter# 定义神经网络模型 class SimpleCNN(nn.Module):def __init__(self):…...

linux查看目录下的文件夹命令,find 查找某个目录,但是不包括这个目录本身?
linux查看目录下的文件夹命令,find 查找某个目录,但是不包括这个目录本身? Linux中查看目录下的文件夹的命令是使用ls命令。ls命令用于列出指定目录中的文件和文件夹。通过不同的选项可以实现显示详细信息、按照不同的排序方式以及使用不同的…...

单一设备上的 2 级自动驾驶:深入探究 Openpilot 的奥秘
Level 2 Autonomous Driving on a Single Device: Diving into the Devils of Openpilot 单一设备上的 2 级自动驾驶:深入探究 Openpilot 的奥秘 Abstract Equipped with a wide span of sensors, predominant autonomous driving solutions are becoming more m…...

向github远程仓库中push,要求使用token登录
Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 如上,当向github远程仓库push时,输入github的用户名和密码出现如上错误,要求使用token登录,此时只需要用户…...

最全windows提权总结(建议收藏)
当以低权用户进去一个陌生的windows机器后,无论是提权还是后续做什么,第一步肯定要尽可能的搜集信息。知己知彼,才百战不殆。 常规信息搜集 systeminfo 查询系统信息hostname 主机名net user 查看用户信息netstat -ano|find "3389&quo…...

Could not find Chrome (ver.xxxxx). This can occur if either\n
文章目录 错误解决方法 错误 Could not find Chrome (ver. 119.0.6045.105). This can occur if either\n 1. you did not perform an installation before running the script (e.g. npx puppeteer browsers install chrome) or\n 2. your cache path is incorrectly configu…...

Conmi的正确答案——ESP32-C3开启安全下载模式
IDF版本:4.4.7 注意事项:一旦烧录“安全下载模式”,模组将无法被读取或清理,只能通过eclipse原项目烧录程序进行重新烧录,无法再烧录其他固件。 20240703110201——追加解法,暂时无法解安全下载模式 &…...

从零开始实现大语言模型(一):概述
1. 前言 大家好,我是何睿智。我现在在做大语言模型相关工作,我用业余时间写一个专栏,给大家讲讲如何从零开始实现大语言模型。 从零开始实现大语言模型是了解其原理及领域大语言模型实现路径的最好方法,没有之一。已有研究证明&…...
科普文本分类背后的数学原理——最新版《数学之美》第14、15章读书笔记
新闻分类,或广义上的文本分类,其核心任务是根据文本内容将相似文本聚合在同一类别中。在新闻领域,这意味着将报道划分为财经、体育、军事等不同主题。人类执行此任务时,通过阅读和理解新闻的主旨来进行归类。然而,作者…...

华为云生态和快速入门
华为云生态 新技术催生新物种,新物种推动新生态 数字技术催生各类运营商去重塑并颠覆各行业的商业模式 从业务层面看,企业始终如一的目标是业务增长和持续盈利,围绕这些目标衍生出提质、增效、降本、安全、创新和合规的业务诉求,…...

卷积神经网络——LeNet——FashionMNIST
目录 一、整体结构二、model.py三、model_train.py四、model_test.py GitHub地址 一、整体结构 二、model.py import torch from torch import nn from torchsummary import summaryclass LeNet(nn.Module):def __init__(self):super(LeNet,self).__init__()self.c1 nn.Conv…...

k8s-第十二节-DaemonSet
DaemonSet是什么? DaemonSet 是一个确保全部或者某些节点上必须运行一个 Pod的工作负载资源(守护进程),当有node(节点)加入集群时, 也会为他们新增一个 Pod。 下面是常用的使用案例: 可以用来部署以下进程的pod 集群守护进程,如Kured、node-problem-detector日志收集…...

Mysql-内置函数
一.什么是函数? 函数是指一段可以直接被另外一段程序调用的程序或代码。 mysql内置了很多的函数,我们只需要调用即可。 二.字符串函数 MySQL中内置了很多字符串函数: 三.根据需求完成以下SQL编写 由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全…...

新浪API系列:支付API打造无缝支付体验,畅享便利生活(3)
在当今数字化时代,支付功能已经成为各类应用和平台的必备要素之一。作为开发者,要构建出安全、便捷的支付解决方案,新浪支付API是你不可或缺的利器。新浪支付API提供了全面而强大的接口和功能,帮助开发者轻松实现在线支付的集成和…...

终于弄明白了什么是EI!
EI是Engineering Index的缩写,中文意为“工程索引”,是由美国工程信息公司(Engineering Information, Inc.)编辑出版的著名检索工具。它始创于1884年,拥有超过一个世纪的历史,是全球工程界最权威的文献检索系统之一。EI虽然名为“…...

微信小程序常见页面跳转方式
1. wx.navigateTo() 保留当前页,跳转到不是 tabbar 的页面,会新增页面到页面栈。通过返回按钮或 wx.navigateBack()返回上一个页面。 2. wx.redirectTo() 跳转到不是 tabbar 的页面,替换当前页面。不能返回。 3. wx.switchTab() 跳转到 …...

Vim常用整理快捷键
一、光标跳转 参数释义w下一行首字符e下一行尾字符0跳至行首$跳至行尾gg跳至文首5gg跳至第五行gd标记跳转到当前光标所在的变量的定义位置fn找当前行后的n字符,跳转到n字符位置 二、修改类操作 参数释义D删除光标之后的字符dd删除整行x删除当前字符yy复制一行p向…...

【docker 把系统盘空间耗没了!】windows11 更改 ubuntu 子系统存储位置
系统:win11 ubuntu 22 子系统,docker 出现问题:系统盘突然没空间了,一片红 经过排查,发现 AppData\Local\packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\ 这个文件夹竟然有 90GB 下面提供解决办法 步…...

前端如何让网页页面完美适配不同大小和分辨率屏幕
推荐使用postcss插件,它会自动将项目所有的px单位统一转换为vw等单位(包括npm安装的第三方组件),从而实现适配,具体配置规则可参考官网或npm网站介绍。 另外对于大屏的适配,需要缩放网页,可使用…...

gitlab-runner安装部署CI/CD
手动安装 卸载旧版: gitlab-runner --version gitlab-runner stop yum remove gitlab-runner下载gitlab对应版本的runner # https://docs.gitlab.com/runner/install/bleeding-edge.html#download-any-other-tagged-releasecurl -L --output /usr/bin/gitlab-run…...

数据分析案例-2024 年全电动汽车数据集可视化分析
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...

H桥驱动器芯片详解
H桥驱动器芯片详解 上一篇文章讲解了H桥驱动器的控制原理,本文以汽车行业广泛应用的DRV8245芯片为例,详细讲解基于集成电路的H桥驱动器芯片。 1.概述 DRV824x-Q1系列器件是德州仪器(TI)的一款专为汽车应用设计的全集成H桥驱动器…...

哪个充电宝口碑比较好?怎么选充电宝?2024年口碑优秀充电宝推荐
在如今快节奏的生活中,充电宝已然成为我们日常生活中的必备品。然而,市场上充电宝品牌众多,质量参差不齐,如何选择一款安全、可靠且口碑优秀的充电宝成为了消费者关注的焦点。安全性能不仅关系到充电宝的使用寿命,更关…...

Memcached 介绍与详解及在Java Spring Boot项目中的使用与集成
Memcached 介绍 Memcached 是一种高性能的分布式内存对象缓存系统,主要用于加速动态Web应用以减少数据库负载,从而提高访问速度和性能。作为一个开源项目,Memcached 被广泛应用于许多大型互联网公司,如Facebook、Twitter 和 YouT…...