admin 管理员组

文章数量: 886992

2018.11.14:增加了开启夜神模拟器电脑蓝屏的解决方案。

前言:

本期内容如何用AppiumDesktop连接安卓手机和安卓模拟器

AppiumDesktop基本参数的获取方法,及如何驱动安卓设备

AppiumDesktop在模拟登陆和爬虫中用到的基本功能介绍(有视频详解)

以后会更新:

MAC,Linux系统的环境安装及操作

在Docker上运行Appium和安卓模拟器

正片开始

AppiumDesktop连接安卓手机

相信经过上一篇内容过后,大家的Appium环境应该都安装好了,如果没安装好的小伙伴,请传送程序员小景:Appium环境搭建超详细教程​zhuanlan.zhihu

之后,我们就可以连接安卓手机了

打开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

首先,下载完成后不要忙着打开夜神模拟器,先确保你的电脑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/video/1045847200566988800

本次就先介绍到这里,大家在使用过程中有什么问题,或者发现什么错误可以给我留言

下次文章会讲

如何使用Python的Appium-Python-Client包,用Python代码操作安卓手机,进行模拟登陆及模拟操作。

如果文章有帮到你,麻烦顺手点赞和收藏,如果能点击关注就更好啦,在此谢过~

本文标签: 模拟器 手机 视频 python AppiumDesktop