
Appium
天地会珠海分舵
做个有耐心的全栈程序员。当前在做的产品-好学街: http://coursebao.com。自主博客: http://techgogogo.com
-
转载 appium for windows 环境搭建
原文:appium for windows 环境搭建最近一直研究appium,据说可以一套代码垮2个平台,自己动手试了下,但是网上的资料少之又少,先贴出自己安装的流程和遇到的问题,一起分享1安装Nodejs下载nodejs安装包(http://nodejs.org/download/)安装测试安装是否成功:运行cmd,输入ANT,2014-09-18 22:33:531956
0
-
原创 Appium基于安卓的各种FindElement的控件定位方法实践和建议
AppiumDriver的各种findElement方法的尝试,尝试的目标应用是SDK自带的Notepad应用。1. findElementByName1.1 示例 el = driver.findElementByName("Add note"); assertThat(el.getText(),equalTo("Add note"));2014-10-03 10:17:3140319
4
-
原创 Appium 服务器端从启动到case完成的活动分析
此文的目的主要是通过分析Appium Server打印出来的log,加深对Appium Server所扮演角色的理解。这整一个过程是由一个Test Case开始执行到结束,测试的对象是SDK自带的NotePad.apk。 Test Case很简单:打开Notepad程序,然后点击安卓的Menu Options按钮调出“Add Note”菜单按钮,然后点击该按钮,然后完成测试。2014-09-22 11:22:455368
3
-
原创 Appium架构框架图整理
Appium架构框架图整理2014-09-21 18:07:477306
0
-
原创 致网友Wonderfei的一封信(如何选择自动化框架的几点拙见)
MonkeyRunner,Roboitum,UIAutomator和Appium框架的一比较之拙见2014-10-10 09:04:354485
6
-
翻译 Appium官网Introduction
Appium是一个开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用。2014-09-22 11:48:513684
0
-
原创 传递给Appium服务器以开启相应安卓Automation会话的Capabilities的几点说明
Desired Capabilities是由客户端发送给Appium服务器端的用来告诉服务器去启动哪种我们想要的会话的一套键值对集合。当中也有一些键值对是用来在自动化的过程中修改服务器端的行为方式的。比如,我们可以把键为platformName的capability的值设置成iOS来告诉服务器我们想要开启的是一个iOS的会话,而非Anddroid的会话。或者我们可以把键为safariAllowPo2014-09-20 13:34:145823
0
-
原创 Appium Server源码分析之作为Bootstrap客户端
Appium Server拥有两个主要的功能:它是个http服务器,它专门接收从客户端通过基于http的REST协议发送过来的命令他是bootstrap客户端:它接收到客户端的命令后,需要想办法把这些命令发送给目标安卓机器的bootstrap来驱动uiatuomator来做事情通过上一篇文章《Appium Server 源码分析之启动运行Express http服务器》2014-11-04 13:23:175841
1
-
原创 Appium Android Bootstrap源码分析之控件AndroidElement
通过上一篇文章《Appium Android Bootstrap源码分析之简介》我们对bootstrap的定义以及其在appium和uiautomator处于一个什么样的位置有了一个初步的了解,那么按照正常的写书的思路,下一个章节应该就要去看bootstrap是如何建立socket来获取数据然后怎样进行处理的了。但本人觉得这样子做并不会太好,因为到时整篇文章会变得非常的冗长,因为你在编写的过程中碰2014-10-31 10:49:435591
3
-
原创 AppiumDriver升级到2.0.0版本引发的问题--Cannot instantiate the type AppiumDriver
1. 问题描述和起因在使用Appium1.7.0及其以下版本的时候,我们可以直接使用如下代码来创建一个AppiumDriver实例进行对安卓设备的操作。driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);但在把Appium包升级到当前最新的2.0.0版本的时候,这段代码会引发如下2014-10-01 13:05:3315611
6
-
原创 Appium和UIAutomator英文和数字输入问题记录
Appium对中文支持有问题已经是众所周之得了,但是今天用Appium编写一个创建Note的实例的时候发现Appium对含有英文和数字的字串输入也有问题。比如如果想用driver.sendkeys来输入“Note1",事实上你会得到的是Note。实践中发现如果英文字串和数字之间加多一个空格就能解决问题,比如输入”Note 1",最终得到的就会使"Note1".至于这是哪个层面的bug的就没2014-09-23 18:49:563676
0
-
原创 Appium和Robotium在文字输入上的区别
近来在学习研究移动平台 自动化测试时发现Appium和Robotium在对文本框进行输入时有一定的区别:Appium在输入文字时需要调用系统键盘Robotium在输入文字是根本不需要调出键盘,文字很快速的就输入完成,感觉不是输入的,而是Copy&Paste我个人认为造成这种区别的原因应该如下(源码分析验证:TBD):Appium是基于UIAutomator框架实现的。A2014-09-22 15:23:573665
1
-
原创 Appium Android Bootstrap源码分析之启动运行
通过前面的两篇文章《Appium Android Bootstrap源码分析之控件AndroidElement》和《Appium Android Bootstrap源码分析之命令解析执行》我们了解到了Appium从pc端发送过来的命令是如何定位到命令相关的控件以及如何解析执行该命令。那么我们剩下的问题就是bootstrap是怎么启动运行的,我们会通过本篇文章的分析来阐述这个问题,以及把之前学习2014-11-01 10:31:275040
2
-
原创 Appium根据xpath获取控件实例随笔
如文章《Appium基于安卓的各种FindElement的控件定位方法实践》所述,Appium拥有众多获取控件的方法。其中一种就是根据控件所在页面的XPATH来定位控件。本文就是尝试通过自己的试验来尝试对Appium如何用xpath来定位控件做一个阐述,当中如有不对的地方敬请大家指出。1. 背景本文尝试使用的试验对象是SDK自带的NotePad应用实例,假设已经有两个Notes分别是“2014-10-03 10:45:1127158
3
-
原创 Appium Android Bootstrap源码分析之简介
在上一个系列中我们分析了UiAutomator的核心源码,对UiAutomator是怎么运行的原理有了根本的了解。今天我们会开始另外一个在安卓平台上基于UiAutomator的新起之秀--Appium的源码分析之旅。本文在真个系列中会扮演一个简介的角色,不会分析任何的代码,只会先给大家一个基本的印象,方便大家在持有这个印象的基础上往下和本人一块分析。1. Bootstrap定义及在Appi2014-10-30 14:50:506962
0
-
原创 移植MonkeyRunner的图片对比和获取子图功能的实现-Appium篇
如果你的目标测试app有很多imageview组成的话,这个时候monkeyrunner的截图比较功能就体现出来了。而其他几个流行的框架如Robotium,UIAutomator以及Appium都提供了截图,但少了两个功能:获取子图图片比较既然Google开发的MonkeyRunner能盛行这么久,且它体功能的结果验证功能只有截屏比较,那么必然有它的道理,有它存在的价值,所以我们很有必2014-11-06 13:28:196657
4
-
原创 Appium环境配置笔记2 -- Android SDK的路径不能有空格
1. 选择创建Maven Project2014-09-19 00:13:172378
0
-
原创 Appium环境配置笔记1--使用Maven解决包依赖
Maven在百度百科的定义是:Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jaka2014-09-18 22:57:233281
0
-
转载 (转载)AppiumDriver类架构
原文:http://blog.csdn.net/yushuanggui/article/details/348297172014-09-20 15:45:211855
0
-
转载 appium框架之bootstrap
bootstrap结构如图所示为bootstrap的项目结构bootstrap作用bootstrap在appium中是以jar包的形式存在的,它实际上是一个uiautomator写的case包,通过PC端的命令可以在手机端执行。bootstrap源码分析首先程序的入口为Bootstrap类。所以从该类开始一步一步解释这个项目Boo2014-09-22 14:46:432355
0
-
转载 Appium中文输入问题的一些探索
Appium输入中文的问题在使用Appium做手机端的自动化测试时,你可以会遇到输入中文的问题。但是由于Appium是三个自动化测试工具的集合,所以遇到的中文问题也可能会比较难说清楚。Appium支持iOS、Android和FireFoxOS三种操作系统。但是FireFoxOS一般人都不用,所以,文章中它是最后一次露面了。Appium在iOS端自动化测试底层使用的是官方的 UI2014-09-22 16:26:014122
2
-
原创 Appium创建一个Note的实例
近来通过Appium,Robotium等几个框架去了解移动平台自动化测试。Appium官方实例是使用ContactManager.apk,而Robotium使用的是SDK自带的Notepad.apk,为了方便比较,在了解Appium的同时把实例修改成跟Robotium一致的Notepad.apk并记录下其中一个Case如下:package majcit.com.AppiumDemo;imp2014-09-23 18:27:525433
1
-
转载 [content-description] find_element_by_accessibility_id 在 android 中的详解
最近 Appium 引入了一个新的 find element 方法:python client 为例def find_element_by_accessibility_id(self, id): """Finds an element by accessibility id. :Args: - id - a string corres2014-10-01 18:35:294139
0
-
原创 Appium Android Bootstrap源码分析之命令解析执行
通过上一篇文章《Appium Android Bootstrap源码分析之控件AndroidElement》我们知道了Appium从pc端发送过来的命令如果是控件相关的话,最终目标控件在bootstrap中是以AndroidElement对象的方式呈现出来的,并且该控件对象会在AndroidElementHash维护的控件哈希表中保存起来。但是appium触发一个命令除了需要提供是否与控件相关这个2014-10-31 13:28:024032
0
-
原创 Appium Server 源码分析之启动运行Express http服务器
通过上一个系列Appium Android Bootstrap源码分析我们了解到了appium在安卓目标机器上是如何通过bootstrap这个服务来接收appium从pc端发送过来的命令,并最终使用uiautomator框架进行处理的。大家还没有这方面的背景知识的话建议先去看一下,以下列出来方便大家参考:《Appium Android Bootstrap源码分析之简介》《Appiu2014-11-02 15:25:454882
2
-
原创 Appium测试安卓Launcher以滑动窗体获得目标应用
所谓Launcher,指的是安卓的桌面管理程序,所有的应用图标都放在launcher上面。其实这是一个很简单的例子,只是为了验证几点想法而已。1.实验目的做这个试验的目的有二尝试下窗体滑动函数swipe的使用好奇究竟能不能正常的对安卓的Launcher进行指定package和activity进行测试2.实验背景过程是打算使用appium来启动launcher,然后滑动窗2014-10-03 14:28:473876
0
-
翻译 Appium0.18.x迁移到Appium1.x须知事项(灰常有用,解答了本人几个疑问)
英文原版:https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/migrating-to-1-0.mdMigrating your tests from Appium 0.18.x to Appium 1.x把你的测试从Appium版本0.18.x迁移至Appium1.x版本Appium2014-10-03 09:52:286327
0
-
原创 流行移动平台自动化框架逐项比拼
以下是本人对当前移动平台流行自动化框架MonkeyRunner vs Robotium vs UIAutomator vs Appium vs SeeTest的可行性分析期间做的比较记录,希望你能从中找到心仪的它!2015-03-26 09:59:402562
1