环境搭建起来之后, 就可以开始移动自动化了. 但是使用自带的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'

Appium移动自动化测试(二)之appuim + 夜神模拟器的更多相关文章

  1. Python网络爬虫——Appuim+夜神模拟器爬取得到APP课程数据

    一.背景介绍 随着生产力和经济社会的发展,温饱问题基本解决,人们开始追求更高层次的精神文明,开始愿意为知识和内容付费.从2016年开始,内容付费渐渐成为时尚. 罗辑思维创始人罗振宇全力打造" ...

  2. python2.7+appium第一个脚本(使用夜神模拟器)

    搭建好环境后,可以开始准备脚本的编写工作 目录 1.安装夜神模拟器 2.使用uiautomatorviewer定位 3.运行第一个脚本 1.安装夜神模拟器 第一步:官网下载夜神模拟器,完成安装 双击下 ...

  3. appium+python 【Mac】Android夜神模拟器

    1.官网下载地址:https://www.yeshen.com/ 2.具体的夜神模拟器的介绍请自查 3.下载安装后夜神模拟器后,打开模拟器,进行相应的配置如下: 4. (1).找到android-sd ...

  4. fiddler如何抓取夜神模拟器上的包

    一.设置Fiddler代理 1.点击Tools-Fiddler Options进入Fiddler Options页面 2.点击Connections,将Fiddler listens on port设 ...

  5. 使用Fiddler抓取在夜神模拟器上的请求

    一.设置Fiddler代理 1.点击Tools-Fiddler Options进入Fiddler Options页面 2.点击Connections,将Fiddler listens on port设 ...

  6. 移动自动化测试:Android Studio 、Appium、夜神模拟器

    环境是Window 10 64位 第一章:安装Appium Appium和node.js需要一起安装,他们的依赖关系暂不深究. 1. node.js傻瓜式安装 官网地址:https://nodejs. ...

  7. monkeyrunner之夜神模拟器的安装与使用(二)

    在上一篇文章-安卓开发环境搭建中,我们创建并启动了eclipse自带的安卓模拟器,该模拟器不仅启动慢,而且在使用过程中的反应速度也是出奇的差,经常出现卡机现象.为了解决这种现象,因此,我们又寻找到了更 ...

  8. Appium移动自动化测试(三)--安装Android模拟器(转)

    Appium移动自动化测试(三)--安装Android模拟器 2015-06-08 10:33 by 虫师, 30828 阅读, 9 评论, 收藏, 编辑 当Android SDK安装完成之后,并不意 ...

  9. Appium移动自动化测试(二)--安装Android开发环境(转)

    Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节   ...

随机推荐

  1. three.js之元素周期表

    <html><head> <title>three.js css3d - periodic table</title> <meta charset ...

  2. GitHub 上最热的10款国产开源软件

    衡量一个开源产品好不好,看看产品在 GitHub 的 Star 数量就知道了.由此可见,GitHub 已经沦落为开源产品的“大众点评”了.一个开源产品希望快速的被开发者知道.快速的获取反馈,放到 Gi ...

  3. Python——变量的作用域

    原创声明:本文系博主原创文章,转载及引用请注明出处. 1. 在编程语言中,变量都有一定的作用域,用来限定其生命周期,且不同类型的变量作用域不同. 在Python中解释器引用变量的顺序(优先级)为:当前 ...

  4. QT对话框

    QFileDialog:文件对话框 QString fileName=QFileDialog::getOpenFileName(this,"打开文件", "/" ...

  5. 第七章 路由 75 路由传参-使用query方式传递参数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. Mac下 CMD常用命令

    1.常用命令 pwd     当前工作目录 cd(不加参数) 进root cd(folder)      进入文件夹 cd ..     上级目录 cd ~     返回root cd -     返 ...

  7. commons-codec-1.9.jar 是做什么用的?

    commons-codec用来处理常用的编码方法的工具类包,例如DES.SHA1.MD5.Base64,URL,Soundx等等. 示例: 不可逆算法 1.MD5 String str = " ...

  8. pro git 读书笔记 3 Git 分支

    分支 新建分支:git branch 分支名 切换到该分支:git checkout 分支名 补充:以上两条语句等价于一句:git checkout -b 分支名 转换分支的时候最好保持一个清洁的工作 ...

  9. javaScript第一篇

    什么中DOM: DOM是一套对文档内容进行抽象各概念化的方法; 例如:我们对别人说:“猫在沙发上!”:别人听到的不会是“狗已经跑了”:这是因为人类对已有的事物有了一套公有的认识;再比如,有人问你,“左 ...

  10. flask框架(七): flask模板

    1.模板的使用 Flask使用的是Jinja2模板,所以其语法和Django无差别 2.自定义模板方法 Flask中自定义模板方法的方式和Bottle相似,创建一个函数并通过参数的形式传入render ...