Appium移动自动化测试(二)之appuim + 夜神模拟器

环境搭建起来之后, 就可以开始移动自动化了. 但是使用自带的AVD开启模拟器, 速度实在太慢. 于是用夜神来做替代, 稍微能够有一些提速.

  1. 启动appuim

    打开Appium,点击右上角Start按钮

    

    输出如下信息, 表示启动成功

    

      可以提前获取如下信息:

        主机: 127.0.0.1:4723

        desired_caps['platformName'] = 'Android'

      desired_caps['platformVersion'] = '23'
      desired_caps['deviceName'] = 'Android Emulator'

    2. 链接夜神模拟器

      1). 首先启动夜神模拟器

      2)  进入安装目录, 链接模拟器

        

      注意: 

      如果夜神模拟器的adb版本和androidsdk的adb版本不一致,需将androidsdk中platform-tools目录下的adb.exe拷贝到模拟器的bin目录,并修改为nox_adb.exe

 

    3.  获取package

      在sdk/tools下面有个uiautomatorviewer.bat工具

      

      启动以后的样子

      

      左上角一共四个按钮,作用分别是打开本地文件、dump页面、dump压缩格式的页面、保存

      选择第三个按钮的dump模式,右侧展示的是树的形式,看上去简介了很多,方便元素的查找和查看。

      

      除此之外页面右侧还有列表的树形结构,点击任意控件可在右下方显示控件的详细信息,树形结构还支持搜索功能,不过搜索的是content-desc的内容。

     4.  获取apk的activity

      在apk/tools目录下有个工具hierarchyview.bat, 它可以获取设备当前页面的package和activity信息

      

      其中,“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;

   

      备用方案二:

     在sdk\builds-tools\目录下, aapt是sdk自带的一个工具,命令行切换至该目录下, 运行aapt dump badging ***.apk, 在结果中可以找到package和activity的名字

      

 

desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '23'
desired_caps['deviceName'] = 'Android Emulator'

posted on 2018-04-16 16:53  小王子1110  阅读(2254)  评论(0编辑  收藏  举报

导航