python learning notes(拾肆)

  • Post author:
  • Post category:python



目录


移动端环境搭建


adb的简介和u2的基本操作


weditor的基本操作


⽂本定位的⽅式


fiddler抓包⼯具的使⽤



移动端环境搭建


获取移动端数据的作⽤?

  • 数据分析
  • ⽤户画像
  • 商业竞争
  • 统计系统


UIAutomator的介绍

UIAutomator是google提供的⽤来做安卓⾃动化测试的⼀个java库


UIAutomator的缺陷

  • 测试脚本只能⽤Java语⾔开发
  • 测试脚本要打包成jar包或者apk包上传到设备上才能实现


UIAutomato2的优势

  • UI⾃动化编写采⽤Python,学习成本低
  • UI控件识别有专⻔的⼯具 weditor
  • 环境搭建简单
  • UI⾃动化脚本运⾏稳定


UIAutomator2的执⾏流程

  • 在PC端来编写脚本(相当于发送HTTP请求到移动设备的server端)
  • 移动设备通过wifi或usb接收到了PC上发来的HTTP请求,执⾏定制的操作
  • 在移动设备上安装atx-agent(守护进程),随后atx-agent启动ui2服务(默认 7912端⼝)进⾏监听


adb的简介和u2的基本操作


adb的安装与使⽤

Adb⼜称Android调试桥,⽤于通过电脑端与模拟器或者是设备之间的交互的⼀个 ⼯具

  • Adb client 命令⾏程序‘adb’⽤于从shell或脚本中运⾏adb命令
  • Adb server adb server 是运⾏在PC的的⼀个后台程序
  • Adbd 程序adbd作为⼀个后台进程在Android设备或模拟器系统中运⾏


adb有什么作⽤?

  1. 安装卸载apk⽂件
  2. 移动设备和PC之间拷⻉⽂件
  3. 查看设备上安装的应⽤信息
  4. ⽂件管理
  5. 按键操作


adb如何使⽤?

把adb的bin⽬录添加到环境变量当中

adb devices 查看链接的移动设备
adb kill-server 关闭链接的移动设备
adb install apk⽂件路径  安装app应⽤
adb shell pm list packages 查看应⽤包名
adb uninstall 应⽤包名 卸载应⽤

UIAutomator2快速⼊⻔

python -m uiautomator2 init  初始化移动设备
  • Uiautomator-server: 就是⾕歌原声的 uiautomator
  • Atx-agent: uiautomator的守护进程
  • minicap和minitouch 中2个包是atx-agent增加远程控制功能的依赖

UIAutomator2控制移动设备

u2.connect_wifi('172.17.100.15')  通过wifi
u2.connect_usb('127.0.0.1:62025') 通过usb(⼿机序列号)
u2.connect_adb_wifi('172.17.100.15:5555') 通过adb wifi

UIAutomato2启动⼿机app

使⽤aapt⼯具进⼊这个路径输⼊ 

aapt dump badging apk的⽂件名 

找到包名 d.app_start('包名') 

停⽌ d.app_stop('包名')

UIAutomator2⾃动化⼯具基本操作

d.service('uiautomator').running() uiautomator运⾏状态
d.service('uiautomator').start() 启动uiautomator
d.service('uiautomator').stop() 停⽌uiautomator
d.app_install(data='apk地址') 安装app
d.app_current() 获取当前前台app的信息
d.app_stop('包名') 停⽌当前app
d.app_clear('包名') 清除缓存
d.app_uninstall('包名') 卸载app
d.app_list() 获取所有app的信息
d.app_stop_all() 停⽌所有app
d.app_uninstall_all() 卸载所有app

weditor的基本操作


什么是Activity?

Activity是Android系统中的四⼤组件之⼀,可以⽤于显示View。Activity是⼀个与 ⽤户交互的系统模块。

An activity is a single, focused thing that the user can do. Almost all
activities interact with the user, so the Activity class takes care of
creating a window for you in which you can place your UI with
setContentView(View).


Activity的控件

TextView 显示⽂字
EditText 输⼊框
ImageView 显示图⽚
Button 按钮
CheckBox 复选框
RadioButton 单选按钮


weditor的使⽤

1.安装:

pip install weditor -i https://pypi.douban.com/simple
在命令⾏输⼊ weditor

2.weditor的界⾯包括

移动设备选择区
控件属性区域
代码展示区
层级关系和结果展示区域

3. UiSelector和控件定位

定位⽅式 :

1 UiSelector

2 Xpath


Andrid基本布局

线性布局  linearLayout
相对布局  RelativelLayout
帧布局    FrameLayout
表格布局  TableLayout
绝对布局  AbsoluteLayout


控件的属性

index int 索引 0
instance int 实例 5
class String 类名 android.widget.TextVi ew
package String 包名 com.tl.kaoyan
check boolean 控件勾选状态 false/true
enable/clickable boolean 控件可点击 false/true
focused/focusable boolean 焦点 false/true
Scrollable boolean 滚动条 false/true
Long-clickable boolean 长按 false/true
selected boolean 选择状态 false/true

⽂本定位的⽅式

Text 全⽂本匹配
textContains ⽂本包含
textMatches 正则表达式
textStartsWith 起始⽂本

ClassName定位的⽅式:

className classNmae的值
classNameMatches 正则表达式匹配 classNmae的值

资源id进⾏定位

resourcdId 资源id

混合定位的⽅式

⽂本定位 资源id ClassName等可以配合使⽤来进⾏定位

坐标点定位法

坐标点定位法分为2种⽅式 ⼀种是通过原始的坐标点来呈现。⼀种是通过%号的⽅
式来呈现

xpath定位的方式

d.xpath('xpath语句')

fiddler抓包⼯具的使⽤

常⻅App抓包软件对⽐

抓包软件名称 支持的操作系统 适用平台 调试难易程度 软件功能程度
fiddler windows/linux 网页端、APP端 一般
windows/linux/mac 网页端、APP端 一般
packetCapture 安卓 App端 简单


什么是fiddler?

Fiddler是⼀个http协议调试代理⼯具,它能够记录并检查所有你的电脑和互联⽹之 间的http通讯

fiddler功能:

⽀持IE、Chrome、FireFox等等浏览器
可以在phone、pad等移动设备进⾏连接


CSDN



版权声明:本文为weixin_61411312原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。