数据采集-自动化测试
ninehua 2024-12-06 18:07 36 浏览
自动化测试分为:web和移动端两个方面。
? web端:Webdriver。
? 移动端:appium,Robotium,monkeyRuner ,UIAutomator ,MonkeyTalk,Airtest 。
? win32应用程序:pywinauto。
自动化测试作为爬虫手段的缺点:占用系统资源严重(往往要启动浏览器和多个标签页)、爬取速度较慢;尽管有这些缺点,但是它可以作为不是办法中的办法。
Web端Webdriver自动化测试在Windows环境下搭建和简单测试如下所示:
? Windows环境下搭建开发环境步骤:
- Python环境(推荐2.7)
- Pip install selenium
- 相应浏览器的驱动,比如谷歌浏览器对应的:chromedriver.exe。
? 简单测试案例:
移动端appium自动化测试在Windows环境下搭建和简单测试如下所示:
? Windows环境下搭建开发环境步骤:
- Python环境(推荐2.7)和jdk。
参考https://jingyan.baidu.com/article/3c343ff70bc6ea0d377963df.html
- Adb工具的下载:自己单独下载adb、夜神模拟器自带和Android sdk;这里推荐使用Android sdk(大概有几个G大小)。
添加系统变量ANDROID_HOME, 值是Android SDK的安装路径
把Android SDK下的platform-tools路径和tools路径添加到系统变量Path
参考:https://jingyan.baidu.com/article/f71d603757965b1ab641d12a.html
- Apk安装介质:真机、Android自带模拟器和第三方模拟器;这里推荐使用:第三方模拟器(夜神模拟器)。
- 这里需要将夜神模拟器设置为:开发者模式。
- 安装appium PC客户端。
- 安装Nodejs (Appium使用Node.js作为服务器引擎)
参考:https://jingyan.baidu.com/article/5552ef47812ba9518ffbc915.html
(1)安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org
(2)cnpm install -g appium
- 安装python开发模块
(1)pip install selenium==2.46.0推荐使用2.46.0版本,其它版本也可以。
(2)pip install Appium-Python-Client。
(3)查看selenium版本 pip show selenium。
- 使用apktool-new分析出待下载apk的appPackage和appActivity。
I.利用apktool工具反编译下载到的apk。命令如下:
Apktool d XXX.apk
II.反编译得到XXX文件夹,在AndroidManifest.xml里查找appPackage和appActivity,具体查找可以参考
http://blog.csdn.net/linux_loajie/article/details/34148943 。
- 使用步骤Ⅱ中的Android sdk中的UI Automator viewer定位待分析apk的元素位置。
- 移动端设备操作
(1)adb devices 列出当前电脑可连接移动设备
(2)adb connect 设备名(夜神模拟器为127.0.0.1:62001)
(3)adb connect 设备名(逍遥模拟器为127.0.0.1:21503)【注意:逍遥模拟器安装目录下自带adb.exe 如果和系统设置的adb版本不一致,会出现offline,此时需要将系统的adb.exe替换逍遥自带的adb.exe】
(4)获取连接设备名称:adb shell getprop ro.build.version.release
(5)获取要测试的app包名与起始页:adb shell dumpsys activity top | find "ACTIVITY"
- [start coding],确保启动[adb connect 127.0.0.1:62001 | adb devices]
简单测试案例:
? 参考网址:
- http://www.cnblogs.com/kllay/p/5505737.html
- http://blog.sina.com.cn/s/blog_44d19b500102vtte.html
Windows标准图形界面端pywinauto自动化测试在Windows环境下搭建和简单测试如下所示:
? Windows环境下搭建开发环境步骤:
- Python环境(推荐2.7)。
- Pywinauto模块安装。
- 辅助组件:spy++/Managedspy。
扩展认知:
1. Selenium与pyppeteer,Puppeteer的区别
Selenium,作为一款知名的Web自动化测试框架,支持大部分主流浏览器,提供了功能丰富的API接口,常常被我们用作爬虫工具来使用。然而selenium的缺点也很明显,比如速度太慢、对版本配置要求严苛,最麻烦是经常要更新对应的驱动。
由于Selenium流行已久,现在稍微有点反爬能力的网站都会对selenium和webdriver进行识别,网站只需要在前端js添加一下判断脚本,很容易就可以判断出是真人访问还是webdriver。虽然也可以通过中间代理的方式进行js注入屏蔽webdriver检测,但是webdriver对浏览器的模拟操作(输入、点击等等)都会留下webdriver的标记,同样会被识别出来,要绕过这种检测,只有重新编译webdriver,麻烦自不必说,难度不是一般大。
由于Selenium具有这些严重的缺点。pyperteer成为了爬虫界的又一新星。相比于selenium具有异步加载、速度快、具备有界面/无界面模式、伪装性更强不易被识别为机器人,同时可以伪装手机平板等终端;虽然支持的浏览器比较单一,但在安装配置的便利性和运行效率方面都要远胜selenium。
Pyppeteer(Pyppeteer其实是Puppeteer的Python版本)无疑为防爬墙撕开了一道大口子,针对selenium的淘宝、美团、文书网等网站,目前可通过该库使用selenium的思路继续突破,毫不费劲。
素材网址:https://zhuanlan.zhihu.com/p/112523661
总结:目前倾向于使用pyppeteer,Puppeteer。
思维的转变之自动化测试和逆向工程的融合
假如我们在破解APP或者是WEB加密的情景时,如果破解难度大或者是目标加密方式变化频繁;我们可以换种思路去解决这个问题,那就是“自动化”方式。其思路是:将解密透明化。
衍生:这其实是种解决问题的思路,可以上升到战略维度的思路。
相关推荐
- 单打独斗的产品设计师工作流程总结
-
来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。我从入行开始就在一个做自己产品的小公司工作,到现在已经三年了。刚开始工作的时候什么也不懂,老板说让出效果图,就开始直接...
- 毕业生必备软件!6套APP构建我的产品设计工作流
-
工欲善其事,必先利其器。思维和方法论固然超级重要,但是掌握并制定适合自己的工作流也可以成倍提升效率。好的软件加上熟练的使用可以帮助解决遇到的所有问题,不仅可以减轻大脑和身体的负担,更可以让产品设计师在...
- 如何在APP原型上写需求?(app原型设计规范)
-
你有没有过这样的经历——辛辛苦苦写了半天的文档,结果开发一眼没看,做需求的时候又把文档里的内容问了一遍?如果你也有这样的经历,那么在APP原型上写需求,或许能帮你解决这个问题。为什么要把需求直接写在...
- 产品经理工具箱|原型及交互设计工具
-
来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。世界上最实在最方便的原型设计及交互工具:国外的谷歌,facebook等大型互联网公司的交互工具就是上面最原始,最有效最...
- 交互设计利器汇总:实用工具大揭秘!
-
近年来,页面交互设计有了很好的发展,越来越受到人们的重视。如果你想成为一名页面交互设计师,除了对平面设计和产品设计有一定的了解外,更重要的是要知道哪个软件适合页面交互设计。本文将带您了解5款流行的页面...
- Taro - 京东凹凸实验室出品的小程序多端开发工具,内置 UI 组件库
-
可以支持转换到微信/京东/百度/支付宝/字节跳动/QQ小程序以及H5端,同时也支持使用Vue语法了。关于Taro凹凸实验室(O2Lab)来自京东零售集团,创建于2015年10月,是...
- 开发2小时,修bug2周,我用Trae做了个小程序
-
在当今快速发展的科技时代,AI技术的崛起为开发者带来了前所未有的机遇与挑战。一方面,AI极大地降低了技术门槛,让更多的创意得以快速实现;另一方面,它也提升了竞争维度,促使人们在认知、方法和时间效率上不...
- 好用的10款免费原型设计工具(免费的原型设计软件)
-
对产品经理或UI/UX设计师来说,一款好的原型设计工具至关重要。好的原型设计软件能够帮助你快速构建还原度高且信息架构清晰明了的原型图,还能极大减低工作中与同事的沟通成本,更高效地推进工作。那么,一款好...
- 用局域网内部分享Axure原型,这里有详细的步骤
-
来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。用axure做好原型,想分享给别人,有几个方法:生成本地文件,发送本地文件,但是文件有更新,就要重新发送用axure自...
- Axure制作App原型应该怎样设置尺寸?原型尺寸对照表!
-
最近有几位小伙伴儿都提出同样一个疑问:想用Axure设计一个APP原型放到真实的移动设备中演示,但不知道应该使用什么尺寸?若要解释清楚像素和分辨率需要的篇幅比较长,请大家参考百度百科。这里老枪搜集...
- 200套数据可视化大屏模版Axure高保真原型
-
超炫可视化大屏模版来了,Axure高保真原型。关注微信公众号“素材帮帮站”,发送消息100051,获取素材下载地址。查看往期文章,获取更多免费素材。
- Axure RP 8 Beta版正式上线(axure rp8是什么软件)
-
AxureSoftwareSolution公司于美国当地时间8月12日宣布其旗下产品AxureRP的v8版本的测试版正式上线。以下是其官方博客关于对AxureRP8Beta版的介绍:今天,...
- PM小技术:使用SAE发布在线Axure文档
-
俗话说,不会写代码的产品经理不是好的射鸡湿。关于产品经理与技术之间的微妙关系,扯开了讲可是长篇大论,比如知乎上这个问题:IT行业产品经理(尤其是创业的)需要懂技术吗?懂到什么程度?,以及这个:产品经...
- 『原型资源』Axure自带图标库不够用,第三方经典图标库来袭
-
今天小编为大家带来第三方经典图标库,己确认内容可用现推荐给大家。直接上手就可不用自己画哈~获取原型文档请与班主任联系!先睹为快,合适再拿走不谢:图标太多,截取部分给大家参考o(* ̄︶ ̄*)o免费领取资...
- Axure RP 8 测试版:将于今年夏天到来
-
我们一直在努力的开发AxureRP8。我认为这是对现有客户以及刚接触Axure的人的一个重要版本。我们希望看到你使用这些新特性,所以我们对现有客户免费升级。所有有AxureRP授权的客户包括标准...