1.概念区分:

1)IOS-UIAutomation:随着iOS4.0的发布,苹果公司同时发布了一个名为UIAutomation的测试框架,它可以用来在真实设备和iPhone模拟器上执行自动化测试

学习网址:http://www.51testing.com/html/54/n-843354.html

       http://www.2cto.com/kf/201212/176666.html

2)Android-UiAutomator:Google在sdk4.0以后提供了一个自动化解决方案uiautomator:

  优点:可以跨应用了;这可是亲生的;

  缺点:必须sdk4.0以上版本;要想实现的好,最好有开发配合;java项目编译为jar后需要push到手机才能运行,也就是说必须打印日志暴力调试。

学习网址:http://www.tuicool.com/articles/ERBRVzY

       http://blog.csdn.net/chenbang110/article/details/23371597

3)Android-Selendriod:Selendroid 是一个 Android 原生应用的 UI 自动化测试框架。测试使用 Selenium 2 客户端 API 编写。Selendroid 可以在模拟器和实际设备上使用,也可以集成网格节点作为缩放和并行测试。

学习网址:http://hao.jobbole.com/selendroid/

2.appium架构

1)appium在Android4.1以上使用UiAutomator,4.1以下使用Selendroid;

2)在Android上使用instrumentation和UiAutomator两套技术;

3)在IOS上使用UIAutomation

3.Appium在Android上的架构

4.Appium在IOS上的架构

5.Appium启动参数:

1)通过Appium -help可以看到一些可选参数;

2)通过参数可以配置如下内容:监听IP和端口,是否使用Selendroid,配置Android和IOS相关参数,启动app;

3)默认开启4723端口接受webdriver请求,默认开启4724端口用于和Android通信;

6.Appium的加载流程:

1)调用Andorid abd完成基本的系统操作;

2)向Andriod上部署bootstrap.jar包并启动;

3)Forward Android 的端口到PC的机器上;

4)PC上监听端口接受请求,使用webdriver协议;

5)分析命令并转通过forward的端口发给bootstrap.jar包;

6)bootstrap接受请求并把命令发给UiAutomator或插桩体系;

7.Appium设计理念:

1)使用webdriver协议与用户交互;

2)Xpath抽象定位;

3)底层调用各自平台的自动化技术;

8.webdriver的Capabilities配置:

1)app:本地路径或网络下载的路径;

2)browserName,兼容Selendroid,并不使用;

3)Device:IOS Android firefoxos;

4)Version:Android API version, IOS version;

5)Launch:是否让appium自动启动app;

6)appActivity-你要从你的应用包中启动的 Android Activity 名称,它通常需要在前面添加 `.`  (如:使用`.MainActivity` 而不是 `MainActivity`)

7)appPackage-你想运行的Android应用的包名

参考网址:http://wenku.baidu.com/link?url=FbswfHp-YmkQKxrTAO61u9OVXp7aBA8TE5YN0hHSV8VkTXGTp1NkK_HbeuwFl1RJ8N3bRxRGlq3TUAq_wf06tv9wEDlUt8Fl8fhoxwD6MHa

附上appium的工作原理:http://blog.csdn.net/jack_chen3/article/details/42679545

appium入门基础知识的更多相关文章

  1. USB入门基础知识(转)

    源:USB入门基础知识 相关名词: 主机(Host) 设备(Device) 接口(Interface) 管道(Pipe) 管道是主机与设备端点数据传输的连接通道,代表了主机的数据缓冲区与设备端点之间交 ...

  2. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

  3. React Native 入门基础知识总结

    中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...

  4. Greenplum入门——基础知识、安装、常用函数

    Greenplum入门——基础知识.安装.常用函数 2017年10月08日 22:03:09 在咖啡里溺水的鱼 阅读数:8709    版权声明:本文为博主原创,允许非商业性质转载但请注明原作者和出处 ...

  5. 1)Linux程序设计入门--基础知识

    )Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...

  6. React入门---基础知识-大纲-1

    -----------------在慕课网学习react入门笔记-------------- ---------博主边学边记录,手把手进行学习及记录---------- --------------- ...

  7. PHP基础入门(二)---入门基础知识必备

    前言 在上一章中,我们初步了解了PHP的网页基础和PHP的入门基础,今天继续给大家分享更多有关PHP的知识. 理论知识看起来可能比较枯燥一些,但是我们的实践(敲代码)毕竟离不开它. 只有理论与实践相结 ...

  8. CodeMix入门基础知识

    CodeMix在线订购年终抄底促销!火爆开抢>> CodeMix入门 CodeMix是一个Eclipse插件,可以直接从Eclipse访问VS Code和为Code OSS构建的附加扩展的 ...

  9. Vue 2.0入门基础知识之全局API

    3.全局API 3-1. Vue.directive 自定义指令 Vue.directive用于自定义全局的指令 实例如下: <body> <div id="app&quo ...

随机推荐

  1. 基于AXI VDMA的图像采集系统

    基于AXI VDMA的图像采集系统 转载 2017年04月18日 17:26:43 标签: framebuffer / AXIS / AXI VDMA 2494 本课程将对Xilinx提供的一款IP核 ...

  2. [elk]kibana搜索绘图

    kibana绘图 好些日志入库了需要分析. 1,首先分析top10 url的table和柱状分布 2,其次想着分析下404所占比例,以及404所对应的url table. 3,最后分析一下请求总数. ...

  3. matplotlib之设置极坐标的方向

    #!/usr/bin/env python3 #-*- coding:utf-8 -*- ############################ #File Name: polar.py #Auth ...

  4. Oracle之标示符无效

    一.引言 今天使用Oracle客户端执行一条sql语句 order by colname3 结果一直提示标示符无效,以为是自己把列名写错了打开表的列,一个字母一个字母的比对,还是没有错 二.原因及解决 ...

  5. javascript之查找数组元素

    基本思想: 比对数组中元素,相等者输出元素在数组的下标,否则就输出没找到! 代码如下: function Orderseach(array,findVal){ var temp = false; // ...

  6. Hive学习笔记——Hive中的分桶

    对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分.Hive也是针对某一列进行桶的组织.Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记 ...

  7. web中用纯CSS实现筛选菜单

    web中用纯CSS实现筛选菜单 本文我们来用纯css实现像淘宝宝贝筛选菜单那样的效果,例子虽然没有淘宝那样强大,不过原理差不多,如果花点心思也可以实现和淘宝一样的. 内容过滤是一个在Web上常见的一个 ...

  8. linux 内核经典面试题

    http://blog.chinaunix.net/uid-25909619-id-3376158.html

  9. Dnsmasq简介

    Dnsmasq是一个开源的轻量级DNS转发和DHCP.TFTP服务器,使用C语言编写.Dnsmasq针对家庭局域网等小型局域网设计,资源占用低,易于配置.支持的平台包括Debian.Fedora.Sm ...

  10. Unittest框架概念

    1.测试脚手架(test fixture): 测试准备前要做的工作和测试执行完后要做的工作(包括setUp()和tearDown()) 2.测试用例(test case): 最小的测试单元 3.测试套 ...