一、环境准备(windows)

1、安装Microsoft .NET Framework 4.5

  双击运行如下文件:net4.5.1.exe

2、安装node-v6.11.4-x64.msi

  双击运行,安装appium的依赖环境,node.js

3、安装appium

  官方网站下载最新的appium版本:http://appium.io/

  双击运行 appium-desktop-Setup-x.x.x.exe。

4、安装JDK

  安装JDK1.8及以上版本。

5、安卓ADT工具

  双击解压 adt-bundle-windows-x86_64-20140702.zip

  配置环境变量:

  添加ANDROID_HOME环境变量,配置sdk根目录。

  ANDROID_HOME=D:\software\adt-bundle-windows-x86_64-20140702\sdk

  在PATH变量中添加adb所有的目录:

  ;%ANDROID_HOME%\platform-tools

  在path变量中添加aapt的路径,后面通过adb查找包名和入口页面时会用到

  ;D:\Programs\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W

  检测:

  进入cmd命令行,输入adb version

  能够正常显示adb的版本就okay.

6、安装夜神模拟器

  夜神模拟器安装好之后,adb命令可能识别不到设备,此时,需要

  1.拷贝 adb安装目录 D:\\Program\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\下的adb.exe

  2.将第一条说所的adb.exe更名成nox_adb.exe

  3.将第2条的nox_adb.exe 覆盖 夜神安装目录下 D:\Program Files\Nox\bin\下的nox_adb.exe

7、安装appium python客户端

  使用python的pip命令,直接在线安装:

  pip install Appium-Python-Client

二、向appium service发送命令需要包含的内容

1、哪个平台:android、ios

2、哪个os版本:

3、哪个app: 包名  

4、入口页面:activity 

  通过aapt命令可以查看包名和入口页面

  aapt dump badging apk在电脑中的路径

  例:aapt dump badging D:\apk\sina.apk

  在结果中找包名  package: name='com.sina.weibo'

    入口页面:launchable-activity: name='com.sina.weibo.activity.WelcomeActivity'

三、写python

from appium import webdriver

desired_cap = {}
desired_cap["platformName"] = "Android"
desired_cap["platformVersion"] = "5.1"
desired_cap["deviceName"] = "Android Emulator"
desired_cap["appPackage"] = "com.sina.com"
desired_cap["appActivity"] = "com.sina.com.activity.WelcomeActivity" # 连接appium service,并告诉它启动哪个平台的哪个app
webdriver.Remote("'http://127.0.0.1:4723/wd/hub'", desired_cap)

  

四、运行

  1.appium service必须启动

  2.adb能够识别到设备

  3.运行python代码

app自动化测试-appium的更多相关文章

  1. 篇4 安卓app自动化测试-Appium API进阶

    篇4                 安卓app自动化测试-Appium API进阶 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),今天是<安卓app自动化测试& ...

  2. app自动化测试Appium+python

    一.node.js安装 https://nodejs.org/en/download/ ##一直下一步 ###cmd查看 二.  .NET Framework安装 https://www.micros ...

  3. app 自动化测试 Appium+python可以运行的代码

    Appium

  4. app 自动化测试 Appium+Java可以运行的代码

    地址:http://www.cnblogs.com/sunny-sl/p/6520465.html

  5. 篇2 安卓app自动化测试-初识python调用appium

    篇2              安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...

  6. Python appium搭建app自动化测试环境

    appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...

  7. 基于appium的app自动化测试框架

    基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于web测试框架开发的 一.设备连接 (即构建 ...

  8. app 自动化测试 - 多设备并发 -appium+pytest+ 多线程

    1.appium+python 实现单设备的 app 自动化测试 启动 appium server,占用端口 4723 电脑与一个设备连接,通过 adb devices 获取已连接的设备 在 pyth ...

  9. 基于Appium的APP自动化测试基础--美团APP的实例

    转:https://blog.csdn.net/Tigerdong1/article/details/80159156 前段时间用一种流行语言,一个主流工具,一个实用框架,写了一个美团app自动化测试 ...

随机推荐

  1. 【SR】论文资源相关

    1. Anchored Neighborhood Regression for Fast Example-Based Super-Resolution Radu Timofte, Vincent De ...

  2. 理解java的 多态

    http://www.cnblogs.com/chenssy/p/3372798.html

  3. iOS开发之--制作属于自己的frameWork

    开发的时候,有时候,我们会遇到协同开发,在协同开发的时候,每个开发者都会创建自己的工具类,还有就是当一个项目需要嵌套到另一个项目里面,这些时候,如果能把所需的部分打包成framework,会方便很多, ...

  4. select标签设置只读的方法(下拉框不可选但可传值)

    1. <select id="s1" name="s1" onfocus="this.defaultIndex=this.selectedInd ...

  5. hdu1066(经典题)

    求N个数阶乘末尾除0后的数值. 主要的难点在于要把这个N个数所含的2和5的队数去掉. 网上方法很多很好. 不多说 Last non-zero Digit in N! Time Limit: 2000/ ...

  6. bzoj 1415(概率dp和bfs预处理)

    感觉挺经典的一道题目. 先用 bfs 预处理下一步走到的位置.因为每一步走法都是固定的,所以可以用dp的方法来做. 1415: [Noi2005]聪聪和可可 Time Limit: 10 Sec  M ...

  7. AngularJs 解决浏览器在初始化代码未加载完毕时 而出现闪烁的问题

    1. ng-cloak; 因浏览器会先加载dom元素 而针对于{{pression}} 由于angularjs 还没加载完,会在页面出现闪烁 2.ng-bind; 用ng-bind代替{{expres ...

  8. a标签的href和onclick

    1.链接的onclick事件被先执行,href的事件后执行 2.就今天遇到的问题说一下,通过a标签的onclick事件实现点击后定位到指定的div,或者是执行其他函数(比如弹出artdialog等), ...

  9. LinkedList 的get方法分析---java

    Java LinkedList.get() 获取元素   Get(int)方法的实现在remove(int)中已经涉及过了.首先判断位置信息是否合法(大于等于0,小于当前LinkedList实例的Si ...

  10. python函数回顾:slice()

    描述 slice() 函数实现切片对象,主要用在切片操作函数里的参数传递. 语法 class slice(stop) class slice(start, stop[, step]) 参数说明: st ...