appium入门基础知识

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

时间: 2024-10-05 18:23:49

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

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

ffmpeg入门基础知识

获取ffmpeg源代码 如果你是在Windows环境下,则可以先装SVN的一个客户端TortoiseSVN(非常好用,强烈推荐),他安装完成后会集成在右键菜单中,点Checkout菜单,在弹出的界面中输入:svn://svn.mplayerhq.hu/ffmpeg/trunk,然后选择一个本地目录,按确定就可以把ffmpeg的源代码下载到你指定的目录中了. FFMPEG功能 视频音频格式转换 关于 frame的一些基本知识 帧速率 帧速率是每秒显示的图像数.标准影片(NTSC) 是29.97 帧

USB入门基础知识(转)

源:USB入门基础知识 相关名词: 主机(Host) 设备(Device) 接口(Interface) 管道(Pipe) 管道是主机与设备端点数据传输的连接通道,代表了主机的数据缓冲区与设备端点之间交换数据的能力.管道包括数据流管道和消息管道. Such associations between the host software and a USB device endpoint are called pipes. 端点(Endpoint) 端点,实际上是设备硬件上具有一定大小的数据缓冲区.U

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

1)Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makefile的编写 程序库的链接 程序的调试 头文件和系统求助 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们 以一个实例来说明如何使用gcc编译器. 假设我们有下面一个非常简单的源程序(hello.c): int main(int argc,

加解密入门基础知识

很多人都想学习解密,这东西刚入门时会让人沉迷进去,可以饭不吃.觉不睡.出现这种现像,也许是解密满足了人们的猎奇心里吧.但掌握这方面技术,对自身的 提高确实有好处.可以通过跟踪软件,提高自己的调试技能,并且能了解他人程序思路,使自己写出更好的程序.研究解密技术有助于掌握一些系统底层知识,系统 底层知识绝对是构造起大型软件的坚实基础.许多程序发展,都经历了这一锻炼过程的. 而大多数人可能认为解密是一门高深的学问.造成这种原因是以前这方面 的技术资料缺乏,从而将“解密”这一技能“神”化了.初学者一般不

Java的入门基础知识

https://course.tianmaying.com/java-basic%2Bjava-environment#0 作者:David链接:https://www.zhihu.com/question/25255189/answer/86898400来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 这个教程将Java的入门基础知识贯穿在一个实例中,逐步深入,可以帮助你快速进入Java编程的世界.万事开头难,逐步跟着这个教程走一遍,对Java应该就会有一种入门的

React Native 入门基础知识总结

中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看看阮一峰老师的<ECMAScript 6 入门>这篇文章.里面涉及很多 ES6 的新特性.我之前也是看了阮老师的文章做了一些学习笔记 ES6 学习笔记. 1.环境搭建 环境搭建中文教程,点击跳转RN中文社区 :http://reactnative.cn/docs/0.40/getting-star

NLP汉语自然语言处理入门基础知识介绍

NLP汉语自然语言处理入门基础知识介绍 自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部分.这个星球上有许多生物拥有超过人类的视觉系统,但只有人类才拥有这么高级的语言. 自然语言处理的目标是让计算机处理或说"理解"自然语言,以完成有意义的任务,比如订机票购物或QA等.完全理解和表达语言是极其困难的,完美的语言理解等效于实现人工智能. 自然语言处理涉及的几个层次: 作为输入一共

框架 day65 Mybatis入门(基础知识:框架原理,入门[curd],开发dao层,全局与映射配置)

Mybatis 基础知识(一) 第一天:基础知识(重点) mybatis介绍 mybatis框架原理(掌握) mybaits入门程序(掌握) 用户信息进行增.删.改.查 mybatis开发dao层方法:(掌握) 原始dao开发方法(dao接口和实现类需要程序员编写) mapper代理开发方法(程序员只需要编写接口) SqlMapConfig.xml(mybatis全局配置文件)(掌握) mybatis输入映射(掌握) mybatis输出映射(掌握) mybatis动态sql(掌握)   1