之前转载的虫师的appium移动端自动化的文章,前边appium环境的搭建,这里就不过多介绍了,不明白的小伙伴可以返回去看,后边有不会的步骤,

也都去看,总之,两篇文章结合看!

那么, 有言在先,我是推荐用真机来做测试的,不会出太多问题。

关于移动端自动化测试-Appium的搭建

这篇文章。

前边我就简化了,重点在后边,因为我发现写文章的人都喜欢写一半,后边连接模拟器的步骤根本没人放在一起写,不负责啊!

SDK安装及环境变量的配置:

打不开国外的网站?没关系,我就是这么负责,来~国内的:

http://www.androiddevtools.cn/

这里有你需要的几乎所有Android自动化用的东西,请用ctrl+F查找你要的东西

比如:

再比如:

然后是环境变量

ANDROID_HOME  :  D:\Tools\android\android-sdk-windows  (你的sdk根目录)

$ANDROID_AVD_HOME  :  同上(如果你用avd的模拟器,这个一定要配置)

Path  :  %ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;  (注意前后分号)

接着,我们安装Appium(步骤看另一篇文章),环境变量的配置如下:

Path  :  D:\Tools\Appium\node_modules\.bin;   (你的Appium安装目录下的node_modules\.bin目录)

再来,模拟器的安装,这里我选择了夜神模拟器,当然,你也可以使用  Genymotion(也是国外的网站,需要注册使用-不要去看国内中文网,毛用没有,都是外链)

模拟器的安装我就不说了,这个都不会,回去种地都费劲吧?

安装好模拟器以后,依然要配置环境变量:

Path中添加:  C:\Programfile\Nox\bin;  (模拟器的bin目录)

然后进入这个目录下,启动cmd,输入  anox_adb.exe connect 127.0.0.1:62001(为了adb连接模拟器)

C:\Users\leon>adb version
Android Debug Bridge version 1.0.
Revision 0e9850346394-android C:\Users\leon>nox_adb version
Android Debug Bridge version 1.0.

可能会出现以上或者以下的情况,那就是因为你的adb版本和模拟器中的adb版本不同,而且环境变量配置有问题,所以保证环境变量按照上边写的配置好以后,看下边

来,将你的sdk\platform-tools目录下的adb.exe复制出来,改名为anox_adb.exe,然后替换掉模拟器的bin目录下的同名文件!

再次进入这个目录下,启动cmd,输入  anox_adb.exe connect 127.0.0.1:62001

如何?连接成功了吧!

那么,再继续,输入adb devices,看看是不是连接成功了?

记下这个,这就是你的udid,等下编写脚本的时候会用到。

继续,命令行里开启Appium,给大家一条有用的开启命令,防止后期出现各种连接和脚本执行问题!

appium -a 127.0.0.1 -p 4723 --no-reset --session-override

至此,我们的环境搭建彻底完成!

接下来,福利时间

编写脚本的时候,如何获取你的app信息?我来介绍几个你需要的东西,先看图

(就打码~)

介绍一下,标记的信息,如何填写和查找

deviceName:这个是设备名称,可以选择模拟器设置的属性中的IMEI填入,或者手机名称

udid:这里填写上边让你记住的东西,如果使用其他模拟器或者真机等连接,同样的位置,记下就行

appPackage和appActivity,教大家一个相对简单的方法来获取,当然也可以采取反编译(app压缩成rar或者zip,然后打开看xml文件)的手段,总之,方法很多!

进入sdk\build-tools\版本号 的目录下,cmd命令:

apt dump badging C:\apps\xxxxx.apk      (路径\app包名)

看下,上边标记的就是我们要的两个值!

至于下边的URL是固定格式,不要研究为什么(王八的屁股——龟腚)!

完成,以上你可以开始自己的移动端自动化之旅了~~

关于appium+模拟器+idea的细谈的更多相关文章

  1. Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解

    在上篇博客中,我们介绍了<hibernate基本概念和体系结构>,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基 ...

  2. Spark RDD概念学习系列之细谈RDD的弹性(十六)

    细谈RDD的弹性  所谓,弹性,是指在内存不够时可以与磁盘进行交换. 弹性之一:自动的进行内存和磁盘数据存储的切换   弹性之二:基于Lineage(血缘)的高效容错   弹性之三:Task如果失败会 ...

  3. 细谈getRequestDispatcher()与sendRedirect()的区别

    问题?细谈getRequestDispatcher()与sendRedirect()的区别 首先我们要知道: (1)request.getRequestDispatcher()是请求转发,前后页面共享 ...

  4. JAVA基础细谈

    JAVA基础细谈 一. 源文件和编译后的类文件     源文件的本质就是程序文件,是程序员编写,是人看的.而编译后的类文件是给电脑看的文件.一个类就是一个文件,无论这个类写在哪里,编译以后都是一个文件 ...

  5. Css的使用细谈

    Css的使用细谈 Css可以通过简单的更改CSS文件,改变网页的整体表现形式,可以减少我们的工作量,所以她是每一个网页设计人员的必修课. Css简介              (1) CSS是用于布局 ...

  6. 细谈HTML解析模块

     细谈HTML解析模块 Html在网页中所占的位置,用一个简单直观的图给展示一下:    

  7. 细谈unity资源管理的设计

    一.概要 本文主要说说Unity是如何管理的,基于何种方式,基于这种管理方式,又该如何规划资源管理,以及构建bundle,是后面需要详细讨论的. 二.Unity的资源管理方式 2.1 资源分类 uni ...

  8. 细谈unity资源加载和卸载

    转载请标明出处:http://www.cnblogs.com/zblade/ 一.概要 在了解unity的资源管理方式之后,接下来细谈一下Unity的资源是如何从磁盘中加载到运行时的内存中,以及又是如 ...

  9. 【细谈Java并发】谈谈LinkedBlockingQueue(转)

    最近在看concurrent包的知识,看到LinkedBlockingQueue,发现一篇好文推荐给大家.原文地址:[细谈Java并发]谈谈LinkedBlockingQueue 1.简介 上篇我们介 ...

随机推荐

  1. SurfaceView的基本使用

    一.引入: Android提供了View来进行绘图处理,在大部分情况下,View都能满足绘图需求.大家都知道View是通过刷新来重绘视图,Android系统通过发出VSYNC信号来进行屏幕的重绘,刷新 ...

  2. 解决Centos crontab没有按时运行的问题

    我装了centos,用一点一直无法搞定,就是定时关机.我只是想做这一件事: 每天凌晨1点自动关机 0 1 * * * shutdown now -h 然而,无论我如何设置,都是失败. 每当我睡了一觉, ...

  3. 隐马尔科夫模型HMM(四)维特比算法解码隐藏状态序列

    隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数 隐马尔科夫模型HMM(四)维特比算法解码隐藏状态 ...

  4. C语言和go语言之间的交互

    一.go代码中使用C代码 go代码中使用C代码,在go语言的函数块中,以注释的方式写入C代码,然后紧跟import "C" 即可在go代码中使用C函数 代码示例: go代码:tes ...

  5. 最新开源DBLayer,原来数据库操作可以这么简单

    DBLayer,我最近开源的数据库轻量级orm框架,目前支持sqlserver.mysql.oracle, 特别做了分页的封装. 这个框架从七八年前开始逐渐升级而来,也经历了不少项目,希望可以将大家从 ...

  6. PHP面向对象笔记解析

    PHP的面向对象是很重要的内容,也是很常用的内容.所以现在就把PHP面向对象进行整理了一下. 顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百 ...

  7. js___原生js轮播

    原生js轮播 作为一名前端工程师,手写轮播图应该是最基本掌握的技能,以下是我自己原生js写的轮播,欢迎指点批评: 首先css代码 a{text-decoration:none;color:#3DBBF ...

  8. 如何将HLS延时缩短至4秒,HLS+技术详解

    在直播应用中,RTMP 和 HLS 是两种较为成熟且广泛应用的流媒体协议,基本上可以覆盖所有客户端.RTMP 是互联网 TCP/IP 五层体系结构中应用层的协议,主要优势就是实时性高,基本可将直播延时 ...

  9. 下载旧版chrome

    问题描述: xp只能使用chrome 49及其之前的版本,去哪里下载? 解决办法: 1. 在这里 http://www.slimjet.com/chrome/google-chrome-old-ver ...

  10. javascript中apply,call,bind区别,bind兼容等问题总结

    1 三者的相似之处: (1).都是用来改变函数的this对象的指向的 (2).都是用第一个参数来做this对象的指向 (3).都可以传参数进去 那么,具体到它们有什么区别呢?请看下面的例子: 两个对象 ...