python控制手机模拟器_AppiumDesktop控制手机和安卓模拟器(附视频)
2018.11.14:增加了开启夜神模拟器电脑蓝屏的解决方案。
前言:
本期内容如何用AppiumDesktop连接安卓手机和安卓模拟器
AppiumDesktop基本参数的获取方法,及如何驱动安卓设备
AppiumDesktop在模拟登陆和爬虫中用到的基本功能介绍(有视频详解)
以后会更新:
MAC,Linux系统的环境安装及操作
在Docker上运行Appium和安卓模拟器
正片开始
AppiumDesktop连接安卓手机
相信经过上一篇内容过后,大家的Appium环境应该都安装好了,如果没安装好的小伙伴,请传送程序员小景:Appium环境搭建超详细教程zhuanlan.zhihu.com
之后,我们就可以连接安卓手机了
打开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等。
接下来是视频演示操作,第一次在知乎录讲解视频,比较紧张,英语说的也很僵硬,大家多多包涵,哈哈哈哈。AppiumDesktop部分基本功能演示https://www.zhihu.com/video/1045847200566988800
本次就先介绍到这里,大家在使用过程中有什么问题,或者发现什么错误可以给我留言
下次文章会讲
如何使用Python的Appium-Python-Client包,用Python代码操作安卓手机,进行模拟登陆及模拟操作。
如果文章有帮到你,麻烦顺手点赞和收藏,如果能点击关注就更好啦,在此谢过~
python控制手机模拟器_AppiumDesktop控制手机和安卓模拟器(附视频)相关推荐
- android模拟器游戏按键映射,刺激战场模拟器按键映射对比 逍遥安卓模拟器智能按键最好...
原标题:刺激战场模拟器按键映射对比 逍遥安卓模拟器智能按键最好 绝地求生手游刺激战场模拟器现在有好多款,基本上每款模拟器都说自己是最好用的,绝大部分用户并不知道哪个刺激战场模拟器好,也没有时间和兴趣一 ...
- 第三方android 模拟器哪个好用吗,安卓模拟器哪个好 哪个电脑安卓模拟器好用...
原标题:安卓模拟器哪个好 哪个电脑安卓模拟器好用 随着手游的数量越来越多越来越好,自然而然想在电脑上玩手游的用户也就越来越多.随着2017年腾讯和网易的入场,安卓模拟器的格局已经不适合小厂商或者没有技 ...
- android模拟器 费电,2020哪个安卓模拟器好用流畅?最新常用六家模拟器跑分对比...
原标题:2020哪个安卓模拟器好用流畅?最新常用六家模拟器跑分对比 现在安卓模拟器软件常用的就只有六款了,相比较之前有N多款安卓模拟器的时候,安卓模拟器的数量已经减少了非常的多.目前用户常用的这六款安 ...
- 百度android模拟器下载地址,百度手机助手电脑版怎么下载 安卓模拟器电脑版下载地址...
最近在朋友圈非常流行的手游百度手机助手已经开放下载了,不过不少玩家都觉得手机上玩百度手机助手手机屏幕太小,操作不方便,画面不够清晰炫酷.那么如何在电脑上运行百度手机助手这款手游呢?小编现在就推荐一款百 ...
- python执行命令不连接mumu_Appium连接mumu安卓模拟器(真机)自动化测试
1.安装node.js & Appium 1.2. tar -xvzf xxx.tar.gz 1.3. set classpath 1.4. `npm install appium 遇翻墙np ...
- python 安卓模拟器电脑版_【夜神安卓模拟器电脑版】夜神安卓模拟器电脑版 V6.6.0.6免费版官方免费下载_正式版下载-多特软件站...
夜神安卓模拟器是目前非常流行的一款安卓模拟器,相比一般的模拟器它具有更好的兼容性,稳定性,系统基于Android4.4.2,可以更好地兼容安卓软件,安卓游戏,可以放心使用,软件使用非常简单. 相关软件 ...
- android模拟器打不开,天天安卓模拟器打不开怎么办?原因和解决办法提供[多图]...
天天安卓模拟器是一款非常不错的电脑端安卓模拟器,它的功能非常强大,而且使用起来也非常的方便.天天安卓模拟器让你在电脑上体验使用安卓手机的畅快感觉,拖拽安装的功能可以让几万款安卓应用轻松的一键安装.键鼠 ...
- 安卓模拟器获取服务器信息出错,安卓模拟器客户端与服务器不同步
安卓模拟器客户端与服务器不同步 内容精选 换一换 目前从本地或虚拟机通过DRS备份迁移功能直接迁移到本云RDS for SQL Server实例上,在迁移完成后还需要针对Login账号,DBLink, ...
- android模拟器命令大全,玩转安卓模拟器命令行
玩转安卓模拟器命令行 启动模拟器 使用 emulator -avd 来启动指定的安卓模拟器, 例如, 我的电脑上配置了下列模拟器: 要启动名称为 "JB_Pad" 的模拟器, 只要 ...
- 逍遥模拟器怎样连接android,逍遥安卓模拟器
逍遥安卓模拟器是一款非常出众的安装模拟器应用,其为用户提供了完善的安卓模拟环境,能够支持用户在模拟器上安装目前绝大部分的安卓应用程序,而且具备了流畅.稳定等诸多特点,与此同时,其还为用户提供了鼠标键盘 ...
最新文章
- 【iOS数据持久化】归档解档(NSKeyedArchiver/ NSKeyedUnarchiver)
- 知识梳理——HTML篇
- Python编程基础:第五十五节 map函数Map
- Java笔记-通过注解和插件自动生成get/set和toString方法,使代码结构清晰
- “新基建”横空出世,9本书助你把握7+2大领域风口
- MATLAB2017深度学习工具箱总结
- Python实现用户登录
- 忆芯科技发布新一代国产主控芯片STAR1000P!4月完成量产版本
- python发邮件图片太长显示不出来_Python电子邮件图像太长,无法显示,为什么Python在发送多图表电子邮件时只显示第一个图像?,python,发邮件,图片,不,出来,第一张...
- java编程需要数学知识吗_编程需要很好的数学吗?
- 如何在Ubuntu上安装MariaDB
- 调度域(Scheduling Domain)
- 2021年起重机司机(限桥式起重机)考试题及起重机司机(限桥式起重机)免费试题
- 流年里写给30岁的自己
- 非对称加密RSA文本和Excel文件加密练习
- 手速最快的是电竞选手?错了,是程序员
- Layer.js实现表格溢出内容省略号显示,悬停显示全部
- Protocol handler start failed
- pgSQL查询语句ERROR: relation “XXX“ does not exist
- html在线编辑器代码运行,JSRun - 在线JS、HTML编辑器(同时也支持各种后台代码的编辑运行)...