AppiumDesktop控制手机和安卓模拟器
前言:
本期内容
- 如何用AppiumDesktop连接安卓手机和安卓模拟器
- AppiumDesktop基本参数的获取方法,及如何驱动安卓设备
- AppiumDesktop在模拟登陆和爬虫中用到的基本功能介绍(有视频详解)
正片开始
AppiumDesktop连接安卓手机

打开USB调试
Appium控制手机需要打开安卓USB调试,具体方法如下:
如果你的手机没有开启开发者模式:
点击手机进入设置,找到你的手机信息,狂点安卓版本号,就可以开启啦

开启后,设置菜单栏会多出一个开发者模式菜单

点击进入开发者模式,找到USB调试打开,如果你的手机有在充电模式打开USB调试,记得也勾选上,没有就算了

连接手机
插上数据线,手机连电脑,如果手机弹出,是否允许此设备调试,选择是

查看是否连接上手机
打开终端,输入adb devices,查看设备列表是否有设备,确定手机是否连接上

双击Appium图标打开,出现以下界面点击开始,参数默认就好,点击开始

点击右上角放大镜, 进入配置

选择上边第一个菜单,点击这里,输入手机配置

好了我们在Desired Capabilities添加以下字段,注意:
左侧写key(名字固定写法不要改),右侧写value(填错会报错启动不起来)
{
"platformName": "Android",
"platformVersion": "6.0.1",
"deviceName": "Nexus 6",
"appPackage": "com.zhihu.android",
"appActivity": ".app.ui.activity.MainActivity"
}

必看!!!关于包名和进程名的获取
必看!!!关于包名和进程名的获取
必看!!!关于包名和进程名的获取
在终端输入 :adb devices,检查设备是否还是连接状态,如果是,接着进行下一步
点击你的手机,打开你要控制的App的主界面,我们以知乎App为例,点击图标进入

有很多App第一次点进去会弹出让你注册或者登陆的页面,或者直接出现广告的,一般不要在这种情况下抓任务进程,尽量手动跳过,或者登陆后进入主界面。
因为大多数软件,你第一登陆后,第二次进入就不让登陆了,也就是说第二次及以后的登陆,再也不会出现那个页面了,除非你手动退出账号,所以抓登陆界面一般是不管用的,如果主界面不管用,再试这些乱七八糟的,多试试就可以了。
一句话总结:手机进入App主界面,再在电脑端执行下列步骤
步骤一 在终端输入: adb shell,进入adb shell 终端,

步骤二 然后在adb shell中输入:
dumpsys activity | grep mFocusedActivity
(此代码可粘贴,手动输入巨痛苦,建议找小本本记下,以后直接粘来用)

我们得到如下App信息:
"appPackage": "com.zhihu.android", # 知乎App包名
"appActivity": ".app.ui.activity.MainActivity" # 知乎App进程名
以上信息都获得后,填入并保存,最后点击StartSession

出现以下界面,就代表你成功了,此时查看你的手机会多出以下两个图标,成功的象征!!!

安卓模拟器连接Appium
步骤和上边的真机一样,需要注意的是,adb版本的问题,这里以夜神模拟器为例,下载请走传送门:
夜神安卓模拟器-安卓模拟器电脑版下载-官网www.yeshen.com

首先,下载完成后不要忙着打开夜神模拟器,先确保你的电脑Hyper-V是关闭的,否则启动模拟器时你的电脑会蓝屏重启。

其次,如果你在启动安卓模拟器后,输入adb devices,出现adb is out of date 或者其他意想不到的问题,那可能就是因为你的SDK里的adb版本和夜神自带的adb版本不兼容,请按照以下操作步骤进行,此方法可以解决99%夜神模拟器连接不上adb的问题:
首先,进入你的sdk安装目录,默认是下图位置,如果你没有更改安装目录的话

然后将他粘贴在桌面,同时再复制一份重命名,在名字前加上nox,变成nox_adb.exe
现在你的桌面应该是这样的。

将这两个文件,拖进你的夜神安装目录的bin文件夹下,并选择覆盖这里的同名文件,然后重启夜神模拟器,建议再在任务管理器杀死adb.exe进程,就可以正常连接了,可输入adb devices查看连接情况。

Appium基本使用
首先我们进行图文介绍,因为这部分比较关键,后边会插入我录的视频讲解,给大家再详细说一遍。
电脑进入Appium主界面,主要分为三个区域

A
A区域是你的手机镜像,但是它不会自动刷新,手动刷新和反应也都比较慢,需要用B区域的刷新按钮手动刷新,主要用于元素和坐标采集。
B
B区域有以下功能,选择元素,滑动,点击,后退,刷新,录制操作,查找元素,复制元素信息和断开连接。

C
C区主要负责显示节点信息,比如id,xpath,text等。

来源:https://zhuanlan.zhihu.com/p/49428952
以上博主使用的是夜神模拟器,但是我更推荐大家使用逍遥模拟器(原因是夜神模拟器我无法用多开方式,使用Android 5.1+fiddler实现抓包。(^_^) 教程链接:https://www.cnblogs.com/liuyanhang/p/14548208.html)
连接Appium和夜神或逍遥模拟器
1.配置系统环境:在Path中添加C:\Programfile\Nox\bin; (夜神模拟器安装的bin目录)
然后进入这个目录下,启动cmd,adb连接模拟器,在终端输入nox_adb.exe connect 127.0.0.1:62001即可。
逍遥模拟器输入:adb connect 127.0.0.1:21503
2.继续输入adb devices,看看是不是连接成功了
链接:https://blog.csdn.net/qq_37253540/article/details/91558147
AppiumDesktop控制手机和安卓模拟器的更多相关文章
- 夜神安卓模拟器adb命令详解
https://www.yeshen.com/faqs/H15tDZ6YW 一.如何找到adb? 安装夜神安卓模拟器后,电脑桌面会有"夜神模拟器"的启动图标,鼠标右键--打开文件所 ...
- 运行最快的安卓模拟器VirtualBox安装教程
网上有多种多样的安卓模拟器,蓝手指啊,百度的MTC等等,但是他们的运行速度,与电脑的切合度都没有VirtualBox安装Android-X86结合在一起来的快. 工具/原料 电脑一台 网络 方法/步骤 ...
- 安卓模拟器安装apk,上网
1.首先找到安装安卓模拟器的文件夹: 2.目录:D:\Java\Android-all\platform-tools 3.运行cmd命令:adb install D:\Java\Android-all ...
- 在Airtest中如何使用无线模式控制手机
在使用Airtest超快速开发App爬虫文章的最后,我们留了一个尾巴:如何启动Airtest的无线模式,不用USB线就能控制手机? 本文将会讲到具体的做法.做法分为两种:第一种是在Airtest的ID ...
- adb连接安卓模拟器
为了在电脑上玩手机游戏,国内推出了很多安卓模拟器,mumu.夜神.itools.海马等等.我们也可以用他们来做安卓开发,相对genymotion或者android studio自带的模拟器而言,国产模 ...
- Delphi使用iTools安卓模拟器
Delphi使用iTools安卓模拟器 1.去官网下载或https://pc.qq.com/detail/11/detail_22131.html 2.安装后,需要通过设置功能,设置一下分辩率,变成手 ...
- Hbuilder Webview调试+逍遥安卓模拟器
软件版本: HBuilder : 9.0.2.201803061935 逍遥安卓:5.2.2 webview相当于一个浏览器的tab,通过在webview中修改,模拟器端会实时刷新效果.从而达到调试手 ...
- andriod sdk 安卓模拟器修改imei码,位置信息
imei码就是手机卡的信息一段15位数字,就好像pc的mac地址.很多app注册会检测你是否是手机登录的,就会读取你的imei码,如果读取不到,就说明你可能是用平板等移动设备上网的. app也可以 ...
- [工具教程] HBuilder调试夜神安卓模拟器方法(该方法真实有效)
HBuilder调试夜神安卓模拟器方法 现在开发手机app的IDE很多,今天我就以我个人开发使用的HBuider开发工具讲一下手机app开发调试.HBuider支持真机调试,这个比较简单,只要安装好手 ...
- LR11.5 安卓模拟器性能测试
LR11.5 安卓模拟器性能测试 上一篇 / 下一篇 2013-07-04 08:07:19 / 个人分类:相关知识 查看( 1172 ) / 评论( 1 ) / 评分( 0 / 0 ) 1.首先下 ...
随机推荐
- 牛逼!50.3K Star!一个自动将屏幕截图转换为代码的开源工具
1.背景 在当今快节奏的软件开发环境中,设计师与开发者之间的协同工作显得尤为重要.然而,理解并准确实现设计稿的意图常常需要耗费大量的时间和沟通成本.为此,开源社区中出现了一个引人注目的项目--scre ...
- .NETCore Nuget 发布包含静态文件 content file
.NETCore 在.csproj引用资源中标记pack配置 <pack>true</pack>1例如 <ItemGroup> <Content Includ ...
- 7.20考试总结(NOIP模拟21)[Median·Game·Park]
雨滴降落的速度是每秒十米,我该用怎么样的速度,才能将你挽留? 前言 关于语文素养如何限制OI水平2,正好现在文化课巨佬们正在考语文(那我走???) T1 我以为整数是不用输出 .0 的,然后喜挂 30 ...
- 拼多多面试:Netty如何解决粘包问题?
粘包和拆包问题也叫做粘包和半包问题,它是指在数据传输时,接收方未能正常读取到一条完整数据的情况(只读取了部分数据,或多读取到了另一条数据的情况)就叫做粘包或拆包问题. 从严格意义上来说,粘包问题和拆包 ...
- JDBC的简单使用以及介绍
JDBC(Java DataBase Connectivity) Java 语言连接数据库 再本模块中,java提供里一组用于连接数据库的类和接口 Java 语言开发者,本身没有提供如何具体连接数据库 ...
- JavaScript语法形式3 外链式
定义 script 标签,在 script 标签中,通过src属性导入外部js文件,并且加载执行外部js文件中国的程序代码内容 因为代码执行顺序问题,一般定义 script 标签 在 body标签 ...
- 喜讯!极限科技再次中标中国移动云 Elasticsearch 自研版技术开发服务项目!
喜讯!极限科技 再次中标 中国移动云 Elasticsearch 自研版技术开发服务项目! 近日,极限科技再次成功中标中国移动苏州研发中心 <云能力中心 2023-2024 年移动云 Elast ...
- C#.NET CORE .NET8连接SQL SERVER 2008 R2 报:证书链是由不受信任的颁发机构颁发的
一.C#.NET CORE .NET8连接SQL SERVER 2008 R2 报:证书链是由不受信任的颁发机构颁发的 报错内容: A connection was successfully est ...
- NFS练习
NFS练习题 1.开放/nfs/share目录,提供给 任意用户 只读(/etc/exports ro) 查询 1.任意客户端2.任意的用户 服务端 showmout exportfs system ...
- Cursor是什么?基于ChatGPT代码编辑器的cursor如何使用?VS Code如何迁移到Cursor的步骤
Cursor是什么 Cursor 是一个基于 Visual Studio Code(VS Code)技术构建的高级代码编辑器,专为提高编程效率并更深度地整合 AI 功能而设计.它不仅继承了 VS Co ...