一、环境准备(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. 解决 Ubuntu 13.04 无法调节屏幕亮度的问题

    13.04与12.04大部分步骤是相同的,只是12.04的方法在13.04中失败了,所以还是有必要说明一下.我到电脑是宏碁AS4750G,硬盘安装系统后电源亮度无法调节. 解决方法如下: 终端输入代码 ...

  2. 常用的tagVARIANT结构【整理】

    VARIANT数据结构包含两个域(如果不考虑保留的域).vt域描述了第二个域的数据类型.为了使多种类型能够在第二个域中出现,我们定义了一个联合结构.所以,第二个域的名称随着vt域中输入值的不同而改变. ...

  3. Java常量池详解

    转自:http://www.cnblogs.com/iyangyuan/p/4631696.html jvm虚拟内存分布图: 程序计数器:JVM执行程序的流水线. 本地方法栈:JVM调用操作系统方法所 ...

  4. Html5-Canvas 与 SVG 的比较

    Canvas 与 SVG 的比较 Canvas 依赖分辨率 不支持事件处理器 弱的文本渲染能力 能够以 .png 或 .jpg 格式保存结果图像 最适合图像密集型的游戏,其中的许多对象会被频繁重绘 S ...

  5. 微软Build 2017开发者大会午夜趴

    时间:2017年5月10号半夜 地点:微软中关村会议室 一年一度的Build大会,微软今年特地组织了一波粉丝到“现场”远程观摩keynote直播,同时在新浪直播间里也有相应的专家进行同步翻译和讲(tu ...

  6. 巨蟒python全栈开发-第15天 装饰器

    一.今日内容总览 关于函数的装饰器1.装饰器(重点,难点)(要求:反复写,代码不多但是很绕) 开闭原则:(比如,菜单是拆散的,一点点搞的,用友拆散自己的功能,以后就不用开发了) (1)对功能的扩展开放 ...

  7. ubuntu 安装低版本firefox

    firefox 57以后很多插件不支持了,ubuntu16自带火狐版本59,想换回56. 1.下载想换回的版本 https://ftp.mozilla.org/pub/mozilla.org/fire ...

  8. php 汉字验证码

    代码: captcha.php <?php //实现简单的验证码 //session_start session_start(); //画布 $image = imagecreatetrueco ...

  9. Chomsky_hierarchy

      Grammar Languages Automaton Production rules (constraints) Type-0 Recursively enumerable Turing ma ...

  10. 设计4个线程,其中2个对num进行加操作,另两个对num进行减操作

    /** * 设计4个线程,其中2个对num进行加操作,另两个对num进行减操作 */ public class ThreadTest { private int j; public static vo ...