appium

因为要爬取某个APP的数据,所以从0开始研究,在这个过程中也是各种乱,现在也才总结一点思路出来,不管怎么样,先把思路理清,开始

总体思路无非就是模拟器和电脑连接后,通过python代码去操控模拟器内的APP软件:
1.首先,要明白的核心概念是monkey

Monkey是什么?

Monkey是发送伪随机用户事件的工具流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

二、Monkey在哪里?

每一台android手机里面都有Monkey工具,但是我们是看不到的,因为它不是一个可视化的工具。它不像wechat是可视化的,能打开,能执行用户操作,有图形界面,Monkey没有。

三、如何与Monkey进行通讯?

我们需要借助ADB(Android Debug Bridge),安卓调试桥。

四、环境搭建:

第一个前提条件就是安装java jdk;第二个条件就是安装android sdk。jdk大家都应该知道怎么安装,同样道理android sdk(Software development kit)android专属软件开发工具包。

图形思路:
在这里插入图片描述
下面就来安装着两个核心的东西:

1、安装好jdk,sdk,根据安装的位置设置环境变量,

jdk:

JAVA_HOME------C:\Program Files\Java\jdk1.8.0_171

PATH------;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

在这里插入图片描述
在这里插入图片描述

sdk:

解压adt-bundle-windows-x86_64-20140702.zip

ANDROID_HOME------C:\Users\dell\Downloads\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk

PATH------;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

PATH------;%ANDROID_HOME%\build-tools\android-4.4W;

在这里插入图片描述
测试

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
到这里为止,这两个包装完了,到这一步为止其实已经截止了,已经能实现通过adb命令来操控APP了,但是这不是我们想要的,我们是想要用python代码来操控,要用appium来操作,那么就还要装appium,但是在这之前我们还必须要装node.js,因为appium就是用它来实现的,node.js就是解释器

安装node.js和appium

1、安装node.js

设置环境变量

PATH------C:\Program Files\nodejs\

测试
在这里插入图片描述

2、appium

appium是用.net开发的,所以需要安装.net framework4.5,下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=3065332

appium-doctor:appium安装好后,找到这个文件目录C:\Program Files (x86)\Appium\node_modules.bin;设置环境变量

PATH------C:\Program Files (x86)\Appium\node_modules.bin;

测试

在这里插入图片描述

到这里为止,appium也彻底的解决了,安装完毕,这里就可以用appium进行操控了,那么我们还剩下的一步就是用python代码来操控了,最后一步了额

1、Appium-Python-Client

pip install Appium-Python-Client

到此截止,我们要装的全部专业的包全部安装完毕,剩下的我们就是非专业的安装了,无非就是一个简单的安卓模拟器而已了,马上贴上

1.我这里选择的是逍遥模拟器
再在模拟器安装一个需要的APP就行了,到这里就完了,简单吧

到现在为止,真正的准备工作全部截止!!!

现在的模拟器和我们准备的软件可以说还是独立的,我们要操纵模拟器,那么两者之间就必须要建立连接,接下来我们就做这样的一个工作:.

Appium启动App的方式有两种:一种是用Appium内置的驱动器来打开App,另一种是利用Python程序实现此操作。下面我们分别进行说明。

1.Appium内置的驱动器来打开App,其实这种最主要的是用来进行前期调试的,目的是为了先定位,写代码用的

首先打开Appium,启动界面如下图所示。

在这里插入图片描述

点击start server启动一个服务(这里的服务主要是appium的服务,他本身就相当于一个服务器,python的代码命令要通过他才能实现)

接下来,我们来实现通过appium控制模拟器的最核心的步骤,就是在appium上配置模拟器的数据:
干!!!

在这里插入图片描述
在这里插入图片描述

左下角的链接是文档说明,可以查看相对应的文档。

设备id和appPackage,appActivity都可以通过adb devices获取(可以看我的adb文章),如果是模拟器,需要先连接

如果没有安装,需要在增加一个参数app,后面放app的绝对路径

这样配置好之后,就会自动打开我们的app,启动之后,会打开一个页面,这个页面可以帮助我们分析各个元素的属性等等内容

似乎没啥问题,但是这个过程往往不知道参数配啥,或者说输入的命令来获取参数的时候各种报错,那么我们要做的就是正确获取参数,获取参数的前提是必须要确保已经和模拟器进行了连接,我们一步一步来:

1.确保连接
我们不能保证每次电脑和模拟器都是自动连接的,那么我们就手动连接,做到万无一失

adb connect 127.0.0.1:62001

adb connect 127.0.0.1:******即可。

其中:******就是模拟器的端口号。

这是连接模拟机的命令,有人说,端口号是什么,我怎么知道我使用的模拟机的端口号,没事,我这里还有:
夜神模拟器端口号:62001

海马模拟器端口号:26944

逍遥模拟器端口号:21503

MuMu模拟器端口号:7555

天天模拟器端口号:6555
在这里插入图片描述

2.获取设备信息

deviceName,使用adb devices -l 命令
在这里插入图片描述
appPackage和appActivity
使用

  1. adb shell

  2. dumpsys activity | grep mFocusedActivity
    在这里插入图片描述
    其中第一个方框中的信息为appPackage,第二个框中的信息为appActivity。

需要配置启动App时的Desired Capabilities参数,它们分别是platformName、deviceName、appPackage、appActivity。

platformName:它是平台名称,需要区分Android或iOS,此处填写Android。
deviceName:它是设备名称,此处是手机的具体类型。
appPackage:它是App程序包名。
appActivity:它是入口Activity名,这里通常需要以 . 开头。

这样设置过后,我本来用的逍遥模拟器,结果一直不行,反复包错误,最后经过搜索,说换个模拟器就可以了,最后心一横,算了,用夜神吧,一试,嘿嘿,果然可以了,结果出来了

在这里插入图片描述
这齐整的界面,一个字,就是美!!!

可是又犯难了,我看着这个界面,他认识我,但是我不认识他啊,别急,下面我们就来介绍下这个界面怎么用

参考链接:

使用appium之前为什么要安装nodejs???
https://blog.csdn.net/weixin_30868855/article/details/99813426

adb命令对模拟器的操作(这个链接里面,包含了连接模拟机的命令额)
https://blog.csdn.net/Thinkingcao/article/details/88027628

adb devices 命令
这个链接里面有和手机链接不上的情况讲解
https://blog.csdn.net/weixin_38374974/article/details/83589633

讲monkey的
https://blog.csdn.net/weixin_38374974/article/details/80762535

这里主要涉及的是查找设备的命令
https://www.cnblogs.com/taoke2016/p/10060781.html

这里是讲Airtest的,这个暂时没时间看
https://www.cnblogs.com/xieqiankun/p/use_airtest.html

这个是装Microsoft.NET Framework 的
https://www.onlinedown.net/soft/572330.htm

这个是装包步骤,很重要,里面步骤还是比较全
https://www.cnblogs.com/zylq-blog/p/9224950.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值