什么是selenium?
Selenium原本是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。我们爬虫工程师使用selenium来抓取动态web页面。
Appium官方文档
什么是Appium?
Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。可用于IOS和Android以及firefox的操作系统。
原生的应用是指用android或ios的sdk编写的应用
移动网页应用是指网页应用,类似于ios中safari应用或者Chrome应用或者类浏览器的应用。
混合应用是指一种包裹webview的应用,原生应用于网页内容交互性的应用。
重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例。
同样的Appium原本是一个用于app应用自动化测试工具,我们爬虫工程师也可以利用它,在抓取app应用数据。
Appium相当于一个服务器,我们可以向Appium发送一些操作指令,Appium就会根据不同的指令对移动设备进行驱动,完成不同的动作。
我们以Android平台的手机京东为例来演示Appium启动和操作App的方法,最终实现抓取手机京东商品数据。
确保PC已经安装好Appium,本实例在windows环境下安装,安装的appium版本为Appium-Desktop
安装好Android开发环境,uiautomatorviewer工具(必须)、python开发环境和Python版本的Appium API(Appium-Python-Client)
android模拟器(夜神模拟器)安装好手机京东app
确保PC上已安装好mitmproxy抓包工具(必须)、fiddler抓包工具(非必须)
数据存储用数据库为Mongodb
转载于:https://www.cnblogs.com/51testing/p/6742460.html
Desired Capabilities参数:它们分别是platformName、deviceName、appPackage、appActivity。
此处注意:模拟器显示为127.0.0.1,真实手机与模拟器显示不同,真实手机为一串字母数据结合
其中:
appPackage为:com.jingdong.app.mall
appActivity为:com.jingdong.app.mall.MainFrameActivity
获取到Appium-Desktop使用的关键参数(Desired Capabilities参数)后,我们就可以启动Appium-Desktop了
确认appium-desktop启动成功后,我们就可以编写代码了
关闭appium 重新运行 uiAutomatorviewer 正常
https://blog.csdn.net/sirobot/article/details/106939490
Android Sdk manager 安装和 真机或者模拟机同版本的android系统
https://www.cnblogs.com/lilip/p/11089713.html
确认手机京东app启动成功,并且无报错后,我们就可以编写自动化代码来控制app行为了
如何来定位app内部控件节点呢
答案是使用uiautomatorviewer
自动化代码编写完成之后,运行一下,看是否有问题,如无问题,就可以进行下一步了
进行 mitmproxy证书安装 即可。
先进入开发者模式 连续点击版本好7次 进入, 还需要设置密码或pin
证书配置过程中的问题
大致过程安装崔大大博客里介绍的安装即可,有几条提醒的:
证书位置(其中文中标记的位.p12文件):
手机安装证书的方式:
首先将证书直接拖拽至夜神模拟器中,然后安装以下步骤安装:
然后配置模拟器的端口设置----WLAN,如下图所示:长按WiredSSID 三秒
注意:手机或模拟器一定要设置mitmdump服务器IP的代理
启动mitmdump: