前言

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

一、工具准备

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的解决方案再来更新

Appium+Python+Genymotion ------环境配置的更多相关文章

  1. appium+python+windows环境配置

    一.安装node.js 1:先找到对于电脑合适的node版本进行下载. 我的云盘node版本是7.8.0.地址如下:https://pan.baidu.com/s/19kcpXhCN1AuJAT9CB ...

  2. appium + python的环境配置_windows

    appium是什么? 1,appium是开源的移动端自动化测试框架: 2,appium可以测试原生的.混合的.以及移动端的web项目: 3,appium可以测试ios,android应用(当然了,还有 ...

  3. Appium + python 自动化测试环境配置

    -------------------------------------------------------------- 1. jdk-8u121-window(32位的就下载32位的,64位的就 ...

  4. Appium+python自动化环境搭建

    一.步骤及环境 环境:Windows 7版本 64位系统(python) 1.jdk安装配置:jdk1.6.0 (64位) 2.android-sdk下载安装:android-sdk_r24.3.4- ...

  5. Linux—CentOS7下python开发环境配置

    CentOS7下python开发环境配置 上一篇博客讲了如何在Centos7下安装python3(https://www.cnblogs.com/zivli/p/9937608.html),这一次配置 ...

  6. python 开发环境配置

    上篇文章配置了虚机基础环境,本篇文章介绍配置python开发环境 配置YUM源 使用国内yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...

  7. centos7.0 安装日志--图文具体解释-python开发环境配置

    centos7.0公布之后,就下载了everthing的DVD镜像.今天有时间,所以决定在vbox底下体验一番--- 上图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...

  8. 最简单的VScode Python 开发环境配置以及中文化

    前置条件 Python 3.X(2020年了,建议使用Python3.X版本) 一.下载VSCode VSCode官方下载链接 由于安装过程是中文界面,此处略过. 二.VSCode中文化 不需要配置什 ...

  9. 基于Pycharm的Python开发环境配置

    基于Pycharm的Python开发环境配置 编辑于2020-11-18 Python安装 双击桌面的Python3.x安装包. 勾选Add to path. 方便起见,选择Install now.下 ...

随机推荐

  1. //Thread::Stop();

    //Thread::Stop(); Thread::StopSoon();

  2. 比赛:大奔的方案solution

    分析: 此题是小奔的方案的改进.小奔的方案思路:倒推,每次都从小到大排序并且保证小号在前,然后使每一个人分到的金币都是上一次加一,直到金币分完或者自己可以存活(投票率大于等于所需概率),如果不行就-1 ...

  3. Js中关于内部方法、实例方法、原型方法、静态方法的个人见解。

    function foo(name){ this.name=name; // 实例方法 this.GetName=function(){ console.log("my name is &q ...

  4. get 请求和post请求的具体区别

    get请求是向服务器索要数据,post请求是向服务器传送数据 的,浏览器限制了get的传送量,post可以大量的把数据传给 服务器,一般情况下get请求,请求体是空的,请求只发一次 ,如果是post请 ...

  5. Linux C 网络编程——多线程的聊天室实现(服务器端)

    服务器端的主要功能: 实现多用户群体聊天功能(此程序最多设定为10人,可进行更改),每个人所发送的消息其他用户均可以收到.用户可以随意的加入或退出(推出以字符串"bye"实现),服 ...

  6. 《VR入门系列教程》之9---谷歌纸盒

    谷歌纸盒---基于智能手机的廉价VR眼镜     如果用汽车来做类比,Oculus Rift和GearVR就是特斯拉和兰博基尼,它们物美但是价不廉.要是主机性能不好,那么几百美元的Oculus眼镜就是 ...

  7. 7月新的开始 - LayUI的基本使用 - Tab选项卡切换显示对应数据

    LayUI tab选项卡+page展示 要求:实现tab选项卡改变的同时展示数据也跟着改变 实现条件: 1. 选项卡 [官网 – 文档/示例 – 页面元素 – 选项卡] 2.数据表格 [官网 – 文档 ...

  8. Spring Boot 面试的十个问题

    用下面这些常见的面试问题为下一次 Spring Boot 面试做准备. 在本文中,我们将讨论 Spring boot 中最常见的10个面试问题.现在,在就业市场上,这些问题有点棘手,而且趋势日益严重. ...

  9. CSS和html如何结合起来——选择符及优先级

       1.选择符     兼容性 统配选择符 *         元素选择符 body   类选择符 .class   id选择符 #id         包含原则符 p strong     (所有 ...

  10. jdk1.8HashMap底层数据结构:散列表+链表+红黑树,jdk1.8HashMap数据结构图解+源码说明

    一.前言 本文由jdk1.8源码整理而得,附自制jdk1.8底层数据结构图,并截取部分源码加以说明结构关系. 二.jdk1.8 HashMap底层数据结构图 三.源码 1.散列表(Hash table ...