多图预警,Appium 实现手机自动化,搭配 mitmproxy 不就实现自动采集了吗?

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多图预警,Appium 实现手机自动化,搭配 mitmproxy 不就实现自动采集了吗?相关的知识,希望对你有一定的参考价值。

本篇博客为你带来一款手机自动化软件 Appium,看这个名字,与 Selenium 一致,你就能琢磨一些事情了。

既然是一款软件的学习,那最难的是什么?把这款软件安装到电脑上,并让其运行起来。

简单介绍 Appium

它是移动端最主流的自动化测试框架,它开源,它免费,它还跨平台。

它的核心是基于 Selenium 实现的,它运行需要 JDK 环境,目前行业里面主要应用的是 Desktop 版本。

Appium 官网:appium.io
Appium 开源库地址:github.com/appium
Appium-Desktop(最新版的叫做 Appium Server GUI) 下载地址:v1.22.0

找到Windows版本下载即可。

安装过程

Appium 安装

下面就是 Appium 的安装过程了,我当前使用的是 Windows7 操作系统,在安装过程中,仅第一次启动安装包的时候,出现了如下异常,后续一切顺利。

再次启动安装包,就进入了 Appium Server GUI 安装目录,再接下来竟然直接安装成功了(与数年前果然不一样了)

JDK 安装

安装 appium 之后,点击下面的配置,会发现需要填写2个环境变量,一个是 JAVA 的,一个是 android 的,所以它们也需要被安装上。

打开 JDK 下载的官网,竟然都 JDK 17了,找到 Windows 版本,下载安装即可。

测试安装成功的步骤是,打卡控制台,输入 java -version ,出现JAVA版本号。

此时就可以去配置 JAVA_HOME 这个环境变量值了,变量的值对应的是 C:\\Program Files\\Java\\jdk-17.0.1 文件夹(实际情况跟你安装的JAVA版本有关系)

Android SDK 安装

下载地址 :http://www.android-studio.org/index.php

安装过程比较简单,遵循下一步原则。

上图中有个设置代理的按钮,即 Set Proxy ,不要点击,点击右侧的 Cancle 即可。

下面配置 SDK Manager

打开 Android Studio 按照下图进行配置即可。

配置名称为 ANDROID_HOME 的环境变量,然后在 Path 中增加如下环境变量值。

%ANDROID_HOME%\\platform-tools
%ANDROID_HOME%\\tools

最后的步骤是在控制台输入 adb version 出现相关信息,表示配置成功

在前面的博客中,我们安装了夜神模拟器,进入到夜神模拟器安装路径,然后使用 adb version ,比对两个版本是否一致。

解决办法就是复制 Android SDK 中的 adb.exe 到夜神安装目录中。
将从SDK目录复制过来的 adb.exe 放在夜神目录下,同时复制一份改名为 nox_adb.exe 。(提前备份原文件)

打通夜神模拟器与Appium

启动 Appium,查看配置中的两个值是否都已经存在,如存在点击 Start Server

进入如下界面,在这个界面先不要着急,需要安装一款其它的软件。

这里还需要做一些准备,进入到夜神模拟器的安装路径中,执行下述命令:

adb devices 

查看是否有设备连接,如果没有,需要执行 nox_adb.exe connect 127.0.0.1:62001 ,出现 already connected to 127.0.0.1:62001 表示链接成功。
这里要注意不同的模拟器 adb 端口不同,具体还需要去查询一下。

单独安装 Appium Inspector

appium 1.22 版本服务和元素查看器分家了,查看元素信息需要自行安装 Appium Inspector

下载地址为:https://github.com/appium/appium-inspector/releases

安装完成之后,按照下述图片进行配置。(操作流程变复杂了许多)

AppiumServer参数填写:
远程主机:默认 127.0.0.1 (与AppiumServer保持一致 )
远程端口:默认 4723 (与AppiumServer保持一致 )
远程路径:appium服务器的路径,默认填写 /wd/hub ,不写报错

Failed to create session. The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource

其余内容按照你夜神模拟器中的参数进行配置(我使用的夜神模拟器相关参数如下所示)


  "platformName": "Android",
  "appium:platformVersion": "5.1.1",
  "appium:deviceName": "MI 9"

这些配置都完成之后,就可以点击启动会话了。

启动之后,你的夜神模拟器会自动安装一款软件,图标如下,此时表示所有的准备工作都已经完成。

通过 appium 打开软件

下载火山小视频APP的APK包,然后将其放置到夜神模拟器根目录中,执行下述命令

aapt dump badging APK包名称.apk

在输出的信息中,寻找如下内容。

将上述值赋值到 Appium Inspector 中,配置相关参数,就可以实现通过启动会话之后,进入火山小视频APP的效果。

具体配置如下,结合上文得到的相关数据。


  "platformName": "Android",
  "appium:platformVersion": "5.1.1",
  "appium:deviceName": "MI 9",
  "appium:appPackage": "com.ss.android.ugc.live",
  "appium:appActivity": "com.ss.android.ugc.live.main.MainActivity"

写在后面

本篇文章在操作部分,非常繁琐,正好对应了我们开篇那句话,学习编程,最难的就是搭建环境了。

订阅时间

今天是持续写作的第 268 / 365 天。
可以关注我,点赞我、评论我、收藏我啦。

更多精彩


👇👇👇扫码加入【78技术人】~ Python 事业部👇👇👇,源码也在这

以上是关于多图预警,Appium 实现手机自动化,搭配 mitmproxy 不就实现自动采集了吗?的主要内容,如果未能解决你的问题,请参考以下文章

c语言实现通讯录-动态可存储版(新手向多图详细预警)

AI专业教您保姆级在暗影精灵8Windows11上本地部署实现AI绘画:Stable Diffusion(万字教程,多图预警)

Python图像处理讲解(多图预警)

Python图像处理讲解(多图预警)

多图预警! Multi-Head Attention | 多头注意力 #51CTO博主之星评选#

详细图解Netty Reactor启动全流程 | 万字长文 | 多图预警