Appium移动自动化测试(五)——获取apk的package、activity和element
来源:互联网 发布:闲鱼如何申请淘宝介入 编辑:程序博客网 时间:2024/05/31 19:18
通过uiautomatorviewer获取apk的package和element
转自:https://testerhome.com/topics/2518
其实之前我一直有一个疑问,Selenium测试的时候,定位控件可以使用“审查元素”。Appium是怎定位的,总不能把源码拿来挨个看吧。直到后来发现原来安卓还有uiautomatorviewer这么个神器。
Uiautomatorviewer的位置就在sdk的tools下,可以通过uiautomatorviewer.bat启动;
图5.1
启动之后就是这个样子了;
图5.2
左上角一共四个按钮,作用分别是打开本地文件、dump页面、dump压缩格式的页面、保存;
图5.3
图5.4
第三个按钮的dump模式,右侧展示的是树的形式,看上去简介了很多,方便元素的查找和查看。
除此之外页面右侧还有列表的树形结构,点击任意控件可在右下方显示控件的详细信息,树形结构还支持搜索功能,不过搜索的是content-desc的内容。
获取apk当前activity
转自:http://blog.csdn.net/youxiansanren/article/details/44220419
自动化测试需要获得当前的activity,来判断处于的页面是否正确;
方法一:
hierarchy view中可以获取设备当前页面的package和activity信息
1、在cmd下输入“adb devices”可以查到对应的连接
2、进入对应的android sdk目录下,进入tools目录,双击“hierarchyviewer.bat”,弹出的页面如下所示
其中,“com.Qunar”是对应的package,“com.mqunar.atom.hotel.ui.activity.HotelListActivity”是当前页面的activity
hierarchy view经常连不上真机,无法获得activity,所以直接用 adb命令来查看当前运行的 activity就可以;
方法二:
1、cmd命令中输入:adb shell 进入shell命令模式
2、shell中输入:logcat | grep ActivityManager 真机运行应用,可以实时 查看当前正在运行的Activity;
I/ActivityManager( 511): START u0 {act=Android.intent.action.INSERT dat=content
://com.example.notepad.provider.NotePad/notes cmp=com.example.android.notepad/.N
oteEditor} from pid 12896
cmp=com.example.android.notepad/.NoteEditor 中,
com.example.android.notepad 是包名, NoteEditor是当前活动的activity;
方法三:
1.cmd命令中输入:adb shell dumpsys activity activities
查看
Main stack:
* TaskRecord{42c4e888 #11 A com.example.android.notepad U 0}
numActivities=2 rootWasReset=true userId=0
affinity=com.example.android.notepad
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER
] flg=0x10200000 cmp=com.example.android.notepad/.NotesList}
realActivity=com.example.android.notepad/.NotesList
askedCompatMode=false
lastThumbnail=android.graphics.Bitmap@42c89cd8 lastDescription=null
lastActiveTime=8685859 (inactive for 113s)
cmp=com.example.android.notepad/.NotesList中,
com.example.android.notepad 是包名, NotesList是当前活动的activity;
注:上述两种方法获取的activity会有多个,建议用uiautomatorviewer获取到的package去搜索,从而快速准确的获取对应的activity
1 0
- Appium移动自动化测试(五)——获取apk的package、activity和element
- Appium移动自动化测试(五)——获取apk的package、activity和element
- Appium移动自动化测试(一)——安装Appium
- Appium移动自动化测试(五)--app控件获取之uiautomatorviewer
- Android自动化测试之通过apktool获取apk package name(包名)以及activity name
- 怎样获取apk的package 和 activity
- Appium移动自动化测试(三)——python demo
- Appium移动自动化测试(四)——Appium中文文档列表
- 自动化测试(python))——解决appium每次测试脚本都要安装unlock和settings两个apk问题的方法
- Android自动化测试之通过apktool获取apk package name(包名)以及activity name(十二)
- appium移动自动化测试
- APP自动化测试时如何获取APK的activity和包名
- Appium移动自动化测试(一)--安装
- Appium移动自动化测试(一)--安装Appium
- Appium移动自动化测试(一)--安装Appium
- Appium移动自动化测试(一)--安装Appium
- Appium移动自动化测试(一)--安装Appium
- Appium移动自动化测试(一)--安装Appium
- RESTFUL API学习教程
- Android应用架构之Retrofit使用
- Python 数据科学入门
- 初读《演说之禅设计篇》有感
- Android之点击回退键俩次退出程序
- Appium移动自动化测试(五)——获取apk的package、activity和element
- 编程珠玑——字符串移位
- C#解析Json数据(利用Newtonsoft.Json库)
- hdu 1251 统计难题
- android调用webservice带soapheader验证
- android开发环境
- Java finally语句到底是在return之前还是之后执行?
- 说说TDD的好处和坏处-对话
- JAVA自增陷阱