手机爬虫--appium
adb
安装:下载android-sdk压缩包,解压后其中有adb.exe,配置环境变量后即可
cmd下‘adb’即可启动adb客户端
adb devices –l 查看已连接的模拟器
adb connect 127.0.0.1:62001 手动连接第三方模拟器(夜神)
adb原理:
启动某个 adb 客户端时,客户端会先检查是否有 adb 服务器进程正在运行。如果没有,它将启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb 客户端发出的命令;
通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护进程 (adbd),便会与相应的端口建立连接
参考:https://developer.android.google.cn/studio/command-line/adb
appium
安装:两种方式
1.基于node的安装
appium依赖于node,所以先安装node(exe文件)
用node的npm安装appium
npm install -g appium
cmd下‘appium’命令即可启动
2.安装桌面版(常用)
通过exe安装
有客户端的功能,代替python测试代码,和连接后的查找功能
appium原理:(appium-client,appium-server,bootstrap,uiautomator)
1.c/s架构,客户端将测试代码发送给appium-server,appium服务器为4723,
2.模拟器上安装bootstrap.jar,开启socket-server(端口4724)与appium通信,并将请求转换成UiAutomator可以识别的命令
3.uiautomator执行命令,产生效果
即:appium端口4723接收客户端命令,模拟器端口4724接收appium命令,uiautomator执行命令
appium需要依赖于adb的连接

python的appium客户端
安装:pip install appium-python-client
连接:
from appium import webdriver
desired_caps = {
'platformName': 'Android',
'deviceName': '127.0.0.1:62001',
'platformVersion': '5.1.1',
# apk包名
'appPackage': 'com.taobao.taobao',
# apk的launcherActivity
'appActivity': 'com.taobao.tao.welcome.Welcome'
} driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
aapt dump badging获取apk包名和activity
需要配java的环境变量
安装jdk
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_231
Path:%JAVA_HOME%\bin %JAVA_HOME%\lib\dt.jar %JAVA_HOME%\lib\tools.jar
模拟器
自带的:AVD Manager.exe,创建虚拟机
第三方:genymotion(不卡),夜神(卡)
需要配Android环境变量
ANDROID_HOME:C:\Program Files (x86)\Android\android-sdk
Path:%ANDROID_HOME%\tools %ANDROID_HOME%\platform-tools
安装genymotion:
很方便,直接下载好软件,在里面选择需要的Android版本和机型即可创建一个虚拟机
无法安装app的问题:
因为genymotion模拟器使用的是x86架构,而app只支持arm架构,所以无法安装成功
需要下载对应Android版本的Genymotion-ARM-Translation_for_8.0的压缩包,直接拖进模拟器即可,之后便可成功安装app
模拟器如果卡,真机也行,打开开发者模式-调试即可
手机抓包https无法获取数据的问题
原因:一般情况下,是在建立连接时,服务器将证书传给客户端,然后客户端进行校验;而SSL Pinning是在开发时就将证书内置进app中,在建立连接时,与返回的证书比对,如果不一致则建立连接失败
而一般是用fiddler/charles来代理抓包,使用的是fiddler提供的证书,肯定不一致
解决:SSL Pinning是一个函数校验,通过反编译app,去掉校验函数;Xposed的JustTrustMe模块可实现
参考:https://www.weiney.com/2015.html
手机爬虫--appium的更多相关文章
- 手机自动化测试:Appium代码之Logger
手机自动化测试:Appium代码之Logger poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest推出手机自动化测 ...
- Fiddler 手机爬虫
Fiddler抓包工具 配置Fiddler 添加证书信任,Tools - Options - HTTPS,勾选 Decrypt Https Traffic 后弹出窗口,一路确认 ...from bro ...
- 锤子手机做appium自动化测试时,运行脚本总是弹出警告框的问题
当运行脚本的时候,总是提示若干个如上提示框,必须点击同意才能进行下一步:解决方案: 在设置,全局高级设置,开发者选项中打开“总是允许USB安装应用”即可解决:
- appium 【已解决】Android,每次启动手机中都会安装Appium settings和Unclock的方法
环境介绍: 1.appium版本:1.4.16.1 2.真机运行 实现结果: 运行appium第一次运行则安装Appium settings和Unclock的apk,再次之后的运行则无需手动卸载,再次 ...
- 全面超越Appium,使用Airtest超快速开发App爬虫
想开发网页爬虫,发现被反爬了?想对 App 抓包,发现数据被加密了?不要担心,使用 Airtest 开发 App 爬虫,只要人眼能看到,你就能抓到,最快只需要2分钟,兼容 Unity3D.Cocos2 ...
- appium基础一:连接手机和appium-desktop定位元素
一.获取手机信息 adb devices获取手机或模拟器的设备名 aapt dump badging xxxx.apk获取app的包名.入口等基本信息 如果想要知道手机原生携带的app的基本信息,首先 ...
- Python3+Appium安装使用教程
一.安装 我们知道selenium是桌面浏览器自动化操作工具(Web Browser Automation) appium是继承selenium自动化思想旨在使手机app操作也能自动化的工具(Mobi ...
- Appium环境搭建-精简版
Appium自动化环境准备 安装配置JDK 下载Android SDK并配置环境变量 安装模拟器或连接真机 安装appium desktop 安装python和pycharm (开发语言和开发工具) ...
- Appium -选择、操作元素4
webvie的测试 混合(Hybrid)应用 一部分是原生界面和代码,而一部分是内嵌网页 比如微信.支付宝 内嵌了一个浏览器内核,由浏览器内核实现的 安卓应用中的内嵌的展示网页内容的模块,我们称之为w ...
随机推荐
- ASP.NET Core 之 Identity 入门(转载)
原文地址:https://www.cnblogs.com/gongap/p/9504562.html 前言 在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 组件库 ...
- EF直接更新数据(不需查询)
//0.0创建修改的 实体对象 Models.BlogArticle model = new BlogArticle(); model.AId = ; model.ATitle = "新的数 ...
- Unreal Engine 4 系列教程 Part 8:粒子系统教程
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
- 某企业用友U8+中勒索病毒后数据修复及重新实施过程记录
近期某客户中了勒索病毒,虽然前期多次提醒客户注意异地备份,但始终未执行,导致悲剧. 经过几天的努力,该客户信息系统已基本恢复正常运行,现将相关过程记录如下,作为警示. 方案抉择 交赎金解密:风险过高, ...
- SpringMVC+ajax文件上传实例教程
原文地址:https://blog.csdn.net/weixin_41092717/article/details/81080152 文件上传文件上传是项目开发中最常见的功能.为了能上传文件,必须将 ...
- python正则图片爬取
# conding:utf8 import requests import re import time if __name__ == "__main__": # 所有的数据 ur ...
- VMware 中安装kvm虚拟机
环境准备: 安装vmware时需要自定义安装-开启虚拟化技术 安装成功之后就可以继续进行了. 1 查看CPU是否支持KVM egrep 'vmx|svm' /proc/cpuinfo --colo ...
- 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解【转】
Web Essentials是目前为止见过的最好用的VS扩展工具了,具体功能请待我一一道来. 首先,从Extension Manager里安装:最新版本是19号发布的2.5版 然后重启你的VS开发环境 ...
- 剑指 Offer——1. 二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- Windows下实现应用程序看门狗软件
有时候,我们需要确保一个应用程序长期稳定地运行,但是在Windows平台上由于种种原因,几乎不可能保障一个应用的绝对可靠运行.那么,我们就需要有一个机制,在应用死机﹑异常﹑系统重启等情况下自我恢复,而 ...