前言

之前总是在找方向,也研究了很多的工具,终于找到了适合自己的一套,打算把学习的过程做一个记录,给自己加深印象,也希望能给其他人一些帮助。

一、工具准备

1、Appium  //  http://appium.io/

2、Genymotion+Oracel VM Virtual  //  http://www.genymotion.net/

3、Python  //https://www.python.org/downloads/

  

二、安装Appium

1、首先,安装node.js // https://nodejs.org/

      按照自己的操作系统进行下载,下载完成后,进行双击安装即可,安装完成后,cmd输入npm,查看是否安装成功

      npm是管理和分发node包的,类似于pip

2、安装Appium

     之前说到npm,在cmd中输入 npm install -g appium    //但是受限于网络,这个基本不会成功

   所以,我们可以直接下载appium     //    https://bitbucket.org/appium/appium.app/downloads/

   根据自己的操作系统进行下载

   

     

   双击appium-installer进行安装,可能会出现缺失.net组件的问题,直接下载组件安装即可

   

三、安装Genymotion环境

  1、安装java, Android环境需要Java的支持,这个就不多说了,参照java的环境配置

  2、下载android sdk,建议直接下载eclispe+android sdk 的集成包,百度搜索关键字 eclipse android 下载   - - 我把下载地址忘记了

  3、下载Genymotion // http://www.genymotion.net/

    Genymotion的下载一定要先注册后,才能下载,下载完成后,直接登录账号(就是之前注册的账号)

      ①可能会出现无法登录的情况,多登录几次吧,毕竟,你懂的

      ②可能出现模拟器无法下载问题,这个问题原因有很多,可以百度,最主要的一个原因是无法联机下载,这个时候就去下载ova包导入虚拟机,实现模拟器的启动

  4、配置Genymotion,Genymotion安装完成后,设置Genymotion,Android SDK使用之前下载的Android SDK目录,保存即可,保存完成后,运行下模拟器,查看能               不能正常启动

    

四、安装python+Appium-Python-client

  下载python后,安装完成后,cmd输入python,查看python是否安装完成

  然后安装Appium-Python-client    cmd 输入pip install Appium-Python-Client

    ①可能出现pip版本过低,安装报错

     下载最新的pip,重新安装一遍,然后再输入pip install Appium-Python-Client

五、demo

  首先,启动模拟器,然后启动Appium,点击android icon 弹出 android settings

  

  然后点击运行

  

  最后通过python编写自动化测试脚本

  

# -*- coding: UTF-8 -*-

from appium import webdriver
import time desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.0'
desired_caps['deviceName'] = 'genymotion_vbox86tp_5.0_141215_182600'
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.find_element_by_name("").click()
driver.find_element_by_name("+").click()
driver.find_element_by_name("").click()
driver.find_element_by_name("=").click()
time.sleep(2)
driver.quit()

然后直接运行py文件即可

  可能会遇到的问题:

    ① 提示android需要API17及其更高版本的支持,需要升级android

      这个原因是因为你的模拟器版本太低了,换一个高版本一点的就可以了

    ②无法连接到模拟器

      可能是因为你代码中的资源没有配置正确,例如Activity没有写对等等

以上是我整个环境配置的过程,如果有哪里不对或者有疑问的,可以扣扣我

-----------2016.04.19--------------

因为genymotion对于5.0版本及其以上模拟器支持不是很理想,安装软件后无法使用问题

然后Appium又必须API17及其以上,所以建议大家使用4.4版本的,通过ARM扩展,功能基本都能使用,等我找到了5.0的解决方案再来更新

最新文章

  1. 10个最常见的 HTML5 面试题及答案
  2. linux下重启服务命令
  3. PHP保留两位小数的几种方法
  4. Objective-C Foundation框架
  5. PHP之mysql_real_escape_string()函数讲解
  6. Hadoop--Map/Reduce实现多表链接
  7. WPF扩展标记
  8. Oracle 快照及 dblink使用 (两台服务器数据同步)
  9. 未知的生成错误 因为没有预加载,所以无法解析程序集 GalaSoft.MvvmLight
  10. 微服务架构的基础框架选择:Spring Cloud还是Dubbo?
  11. 网页三剑客之HTML
  12. 期货大赛项目|八,ueditor的应用
  13. deque源码3(deque的构造与内存、ctor、push_back、push_front)
  14. 转载关于Python Web后端开发面试心得
  15. 测试网站nginx是否支持tls1.2的命令行
  16. 2016/2/26Android实习笔记(Android签名和aapt)
  17. Jmeter(三十九)User.Properties定义全局变量
  18. BZOJ2442 Usaco2011 Open修剪草坪(动态规划+单调队列)
  19. Python property,属性
  20. It isn't possible to write into a document from an asynchronously-loaded

热门文章

  1. 数据结构-哈夫曼树(python实现)
  2. TensorFlow笔记-图片读取
  3. C#3.0新增功能10 表达式树 03 支持表达式树的框架类型
  4. 小白学python-day05-IDE、格式化输出、For While循环、断点、continue、break
  5. Unity3D热更新之LuaFramework篇[07]--怎么让unity对象绑定Lua脚本
  6. JavaScript基础学习第六天
  7. ES 22 - Elasticsearch中如何进行日期(数值)范围查询
  8. 【JDK】JDK源码分析-Collection
  9. 编写自定义 .NET Core 主机以从本机代码控制 .NET 运行时
  10. HttpsUtils