appium
文章平均质量分 76
fanjieshanghai
这个作者很懒,什么都没留下…
展开
-
Appium+Python+PO 设计模式 入门笔记
什么是PageObject?属于selenium的一种设计模式,套用在appium身上了(实践表明,合适,因为selenium和appium"本是同根生")个人对于PO的理解就是,页面元素 - 页面业务操作步骤的方法 - 测试用例 (我知道抽象,大家自行谷哥了解下)下图是我的代码结构:Data:测试数据。后期准备把代码中会所有测试数据都整合到excel或者xml内,Data文件转载 2015-11-10 10:39:08 · 310 阅读 · 0 评论 -
判断两个apk的签名一致
转载地址:http://blog.csdn.net/jlminghui/article/details/409770611.抽取两个apk中的CERT.RSA文件;2.使用命令keytool -printcert -file CERT.RSA 3.对比md5是否相同,相同则认为签名相同,反之亦然。转载 2015-11-10 11:03:43 · 408 阅读 · 0 评论 -
关于 appium 调用 uiautomator 中 UiScorllable 遇到的问题及分析
想法很简单:将界面的ListView滚动到最底部。由于看了webdriver的api貌似没有这个方法,如果有的话,麻烦哪位大神告诉下。所以就采用uiautomator进行实现了代码:driver.find_element_by_android_uiautomator('new UiScrollable(new UiSelector().scrollable(true)).scrollT转载 2015-11-10 11:16:03 · 255 阅读 · 0 评论 -
点击指定控件的某个位置
今天遇到一个问题,想要点击某个控件的某个位置(左上,左下,右上,右下,中间),稍微做了封装,具体代码如下,有不妥欢迎指出: /** * 单个手指,点击屏幕某个控件位置(左上,左下,右上,右下,中间) */ public enum Location { UPLEFT, LOWLEFT, UPRIGHT, LOWRIGHT, CENTRE转载 2015-11-10 11:31:44 · 629 阅读 · 0 评论 -
Android自动化测试中AccessibilityService获取控件信息
原著出处(这里顺便对先驱表示感谢,省得我多走弯路,所以这里直接转载过来,我们没有必要做重新造轮子的事情,既然先驱们已经帮我们把轮子造好了):http://blog.csdn.net/itfootball/article/details/21953763AccessibilityService为一个响应用户发送AccessibilityEvent事件的服务类,主要用作对于一些辅助转载 2015-11-10 12:31:04 · 388 阅读 · 1 评论 -
记录一下Appium中使用swipe方法时候出现的问题(Appium1.0.0.3版本)
在最初使用Appium1.0.0.3版本的时候,中间在写测试代码的时候,需要用到swipe方法来处理屏幕的滑动效果,代码如下: try { JavascriptExecutor js = (JavascriptExecutor) driver; HashMap swipeObject = new HashMap(); sw转载 2015-11-10 12:40:12 · 442 阅读 · 0 评论 -
以 java 为例,总结下 appium 里的一方法的使用心得
1、关于没有name,没有ID的元素的定位---通用篇解题思路:因为没有name,id;其实剩下的选择已不多,要么xpath,要么className。xpath木有好印象(稳定性不高,加之1.0x后需要写全路径,相当崩溃),我决定十分个人色彩的建议使用className。具体方法:用className获取所有该类型的元素;根据元素的位置确定元素的index;获取目标元素。转载 2015-11-10 13:44:14 · 173 阅读 · 0 评论 -
分享一个获取控件 id 较简单的方法
不说其他,直接上代码:可以直接放在测试工程里用,记得改下包名。5s刷新一次,需要自行在logcat窗口中设置筛选条件tag=getCurrentInfo 然后就~自行发挥吧public class GetInfoTest extends ActivityInstrumentationTestCase2 { private static final String LAUNCHE转载 2015-11-10 13:44:54 · 881 阅读 · 0 评论 -
如何调试 android UIAutomator ?
首先介绍一个 maven 依赖库: maven-android-sdk-deployerA tool to install components of the Android SDK to use with the Maven Android Plugin.The Maven Android SDK Deployer is a helper maven project that c转载 2015-11-10 13:51:40 · 131 阅读 · 0 评论 -
如何在 iOS 真机运行 Appium
使用 gui 启动的 appium 1.2.2 也会有这个问题,所以你要把 deviceconsole 复制到 /Applications/Appium.app/Contents/Resources/node_modules/appium/build/deviceconsole 下面。你自己的路径可能和我不一样,切记。同意如果这个问题不解决, iOS 上的 真机 inspector 也打不转载 2015-11-10 13:53:14 · 167 阅读 · 0 评论 -
图片部分匹配技术之 openCV 与 javaCV
由于之前工作需要研究了图片比对技术,实践过python的PIL感觉达不到我的测试需要,之后研究opencv与javacv(javaCV整合了很多图像影音处理的jar,并且windows、linux、Mac都兼容),opencv与javacv的安装大家直接google自行解决吧,话不多说直接上代码。java(javaCV)版图片部分匹配代码:TemplateMatch工具类:pa转载 2015-11-10 13:54:10 · 769 阅读 · 0 评论 -
【分享】Android Instrumention.sendPointerSync 发送 Event 失败分析
问题场景Android4.3,进入被测app某个Activity后,测试案例ClickOnScreen出现异常(Click can not be completed!)。Android4.4正常。前置说明测试案例使用的是本人实现的测试框架,它底层调用了Robotium。分析过程框架调用了Robotium的ClickOnScreen,源码如下:(c转载 2015-11-10 13:54:40 · 305 阅读 · 0 评论 -
uiautomatorviewer 新增功能 compressed 之 Device 端细节
昨天了解了uiautoamtorviewer新增功能dump --compressed,是一个直接发送到设备端的命令,那么这个命令发送到设备端后,设备端是如何操作的呢?我又成了10万个为什么了?继续源码研究......源码地址google source这个jar包最新的版本只到了4.4.2。说明5.0后的uiautomator设备端是没有改变的,那么说明dump --com转载 2015-11-10 13:58:06 · 293 阅读 · 0 评论 -
Android自动化测试(UiAutomator)简要介绍
转自:http://blog.csdn.net/u010961631/article/details/9616581一、一个BUG引发的问题 如果研发过程中有一个BUG:“不断的切换手机语言出现花屏现象”。这个问题我们如何验证呢?我想,最好的方式应该是自动化测试。 那么,自动化测试可以完成哪些任务呢? 简单的说,那些重复性的测试工作,都转载 2015-11-10 14:05:20 · 146 阅读 · 0 评论 -
Appium根据xpath获取控件实例随笔
如文章《Appium基于安卓的各种FindElement的控件定位方法实践》所述,Appium拥有众多获取控件的方法。其中一种就是根据控件所在页面的XPATH来定位控件。本文就是尝试通过自己的试验来尝试对Appium如何用xpath来定位控件做一个阐述,当中如有不对的地方敬请大家指出。1. 背景本文尝试使用的试验对象是SDK自带的NotePad应用实例,假设已经有两个Notes分别转载 2015-11-10 14:25:07 · 120 阅读 · 0 评论 -
UiAutomator系列——UiAutomator源码分析之UiAutomatorBridge框架(003)
上一篇文章《UIAutomator源码分析之启动和运行》我们描述了uitautomator从命令行运行到加载测试用例运行测试的整个流程,过程中我们也描述了UiAutomatorBridge这个类的重要性,说它相当于UiAutomation的代理(我们都知道UiAutomator是通过UiAutomation和AccessibilityService进行连接然后获取界面空间信息和注入事件的).那么今转载 2015-11-10 14:39:03 · 157 阅读 · 0 评论 -
Appium - iOS 各种问题汇总
Appium - iOS 各种问题汇总作者: Max.Bai时间: 2014/10Appium - iOS 各种问题汇总 1. Appium 滑动: swipe 有三种方式: 第一种:swipeJavascriptExecutor js = (JavascriptExecutor) driver;HashMap s转载 2015-11-10 10:38:04 · 206 阅读 · 0 评论 -
基于 uiautomator 与 shell 的自动化测试工具
转载地址:https://testerhome.com/topics/3461今年年初的时候,公司让写个做自动化测试的工具,真头疼!我都没做过这,心里怕怕的,但交待我来做,我又不能不接,罢了,做! 因为没做过,我只学过些java,都毕业三四年了,哪记得那多,想着用python做,听说python容易上手,找了本python做GUI的书,全英文的,看了一遍,云里雾里的,没概转载 2015-11-10 10:48:34 · 257 阅读 · 0 评论 -
Appium+Robotframework实现iOS应用的自动化测试-1:Appium在OS X中的安装
转载地址:http://blog.csdn.net/wd168/article/details/46469615之前的系列文章介绍了Appium以及结合RobotFramework对Android应用如何进行测试。从今天开始,我开始介绍Appium+RobotFramework如何测试iOS应用。测试iOS应用相比测试Android应用要稍微麻烦些,主要是App转载 2015-11-10 10:53:01 · 205 阅读 · 0 评论 -
Appium+Robotframework实现Android应用的自动化测试-7:模拟器频繁挂掉的解决方案
如果测试用例比较多,则当持续运行多个测试用例后,经常会出现模拟器崩溃或者Appium无法连接到该模拟器的情况出现。经过分析,本人认为这应该是模拟器或者Appium的缺陷造成的,目前并没有直接的解决方案。不过可以曲线救国,我的解决方案是:在开始测试时启动模拟器,在测试结束后关闭模拟器,这样虽然需要更多的时间,但这个问题确实不再出现了,时间有的是,可以让其在夜间自动启动执行就可以了。转载 2015-11-10 10:59:28 · 250 阅读 · 0 评论 -
APP测试体系
转载地址:http://www.cnblogs.com/puresoul/p/4593549.html网上找的图片,总结的很好:作者:Glen.He 出处:http://www.cnblogs.com/puresoul/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追转载 2015-11-10 11:02:30 · 140 阅读 · 0 评论 -
在 Mac 上配置 Appium 问题收集
在这之前,请先阅读 在 Mac OS X 上使用 Appium在 Mac 上配置 Appium需求按照官方的说法:iOSMac OSX 10.7+XCode 4.5+ 和 Command Line ToolsAndroidMac OSX 10.7+JAVA 1.6+Android SDK ≥ 16 (SDK antmaven转载 2015-11-10 12:50:27 · 150 阅读 · 0 评论 -
SVN+Jenkins+Maven+Appium+TestNG+ReportNG 实战 Android 自动化测试
好吧,标题写得好长.言归正传,本文主要是讲述如何使用这些工具来整合流程,实现Android平台的自动化测试.首先说下背景,因为我测试的东西面向多个国家,对于不同的地域可能有不同的功能,对应不一样的发行渠道,需要测试工具有便捷的case管理功能,能方便地面对不同的发行渠道选择不同的case.而TestNG可以很方便地配置这些,所以选择这个框架.这里直接使用Appium源码中自带的test转载 2015-11-10 13:40:59 · 303 阅读 · 0 评论 -
用了 AppiumDriver 后,WebDriverWait 中无法使用 AppiumDriver 特有的方法
用了AppiumDriver后,WebDriverWait中无法使用AppiumDriver特有的方法,比如findElementsByAndroidUIAutomator等。这是由于WebDriverWait继承与FluentWait,而WebDriver接口是没有定义findElementsByAndroidUIAutomator的,所以如果想用类似WebDriverWait的功能,就必须转载 2015-11-10 13:48:45 · 694 阅读 · 0 评论 -
解决格式化字符输入的困扰--Android
项目需求:我们有一个输入框,为了提高用户体验,会自动格式化输入的字符串,其实这些东西在各种电商APP上很常见,举个例子,例如输入手机号:13323450000输入过程中,APP会自动做判断,根据输入的长度做判断进而格式化例如变为:133 2345 0000这期间的实现其实很简单,就是每当我们输入字符时,都会触发一个Event事件,如果当我们输入3个字符后,在输入第四个字符时,程序就转载 2015-11-10 13:55:11 · 107 阅读 · 0 评论 -
UiAutomator环境搭建及详细操作
一、环境搭建1.1 必备条件1、JDK2、SDK(API高于15)3、Eclipse(安装ADT插件)4、ANT(用于编译生成的jar)1.2 简要步骤1、安装JDK并添加环境变量先建立JAVA_HOME变量,然后在path中添加%JAVA_HOME%\bin;2、添加SDK环境变量先建立ANDROID_HOME,然后转载 2015-11-10 13:58:33 · 334 阅读 · 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版本Appi转载 2015-11-10 14:26:11 · 143 阅读 · 0 评论 -
移植MonkeyRunner的图片对比和获取子图功能的实现-UiAutomator/Robotium篇
根据前一篇文章《移植MonkeyRunner的图片对比和获取子图功能的实现-Appium篇》所述,因为Appium和MonkeyRunner有一个共同点--代码控制流程都是在客户端实现的。所以要把MonkeyRunner在PC端实现的图片比对和获取子图功能移植到同样是在PC端运行的Appium是很容易的事情,但是对于在服务器端运行的Robotium和UiAutomator就是另外一回事了。转载 2015-11-10 14:28:15 · 127 阅读 · 0 评论 -
UiAutomator系列——Appium Server源码分析之作为Bootstrap客户端(011)
Appium Server拥有两个主要的功能:它是个http服务器,它专门接收从客户端通过基于http的REST协议发送过来的命令他是bootstrap客户端:它接收到客户端的命令后,需要想办法把这些命令发送给目标安卓机器的bootstrap来驱动uiatuomator来做事情通过上一篇文章《Appium Server 源码分析之启动运行Express http服务器》我们转载 2015-11-10 14:32:11 · 183 阅读 · 0 评论 -
UIAutomator系列——UIAutomator源码分析之启动和运行(002)
通过上一篇《Android4.3引入的UiAutomation新框架官方简介》我们可以看到UiAutomator其实就是使用了UiAutomation这个新框架,通过调用AccessibilitService APIs来获取窗口界面控件信息已经注入用户行为事件,那么今天开始我们就一起去看下UiAutomator是怎么运作的。我们在编写了测试用例之后,我们需要通过以下几个步骤把测试脚本b转载 2015-11-10 14:39:37 · 152 阅读 · 0 评论 -
Appium 服务器端从启动到case完成的活动分析
此文的目的主要是通过分析Appium Server打印出来的log,加深对Appium Server所扮演角色的理解。这整一个过程是由一个Test Case开始执行到结束,测试的对象是SDK自带的NotePad.apk。 Test Case很简单:打开Notepad程序,然后点击安卓的Menu Options按钮调出“Add Note”菜单按钮,然后点击该按钮,然后完成测试。转载 2015-11-10 14:40:49 · 136 阅读 · 0 评论 -
Appium - iOS Mac环境搭建
Appium - iOS Mac环境搭建作者: Max.Bai时间: 2014/101. iOS开发环境搭建 1.1系统要求 MacOS X 10.7 or higher, 10.9.2 recommended 1.2 xcode要求 xcode6.0(Appium 1.3)转载 2015-11-10 14:44:11 · 173 阅读 · 0 评论 -
Appium+Robotframework实现iOS应用的自动化测试-4:OS X中安装和启动RIDE
转载地址:http://blog.csdn.net/wd168/article/details/46504093有两种方式进行Appium测试:1. 远程方式进行Appium测试:在Windows系统中启动RIDE并运行测试,这种方式的好处是方便,简单,但在一开始可能因为配置的问题测试跑不起来;2.本地方式进行Appium测试:就是直接在OS X中启动RIDE并转载 2015-11-10 10:54:58 · 331 阅读 · 0 评论 -
移动终端app测试点总结
转载地址:http://www.cnblogs.com/puresoul/p/4420940.html以下所有测试最后必须在真机上完整的执行1、安装、卸载测试在真机上的以及通过91等第三方的安装与卸载安装在手机上还是sd卡上2、启动app测试3、升级测试 数字签名、升级覆盖安装、下载后手动覆盖安装、跨版本升级、升级后可以正常使用。 覆盖安装要确保数据库有转载 2015-11-10 11:03:15 · 242 阅读 · 0 评论 -
Appium 在指定控件内做上下滑动
那天写了个 控件内点击指定位置:http://testerhome.com/topics/2247今天重新改了下,对控件内的滑动,如下控件我需要在控件里面滑动,选取:具体代码如下(目前只做滑动一次,有需要可以自己再做修改,如果有更好方式操作,求推荐):/** * 控制滑动方向 */ public enum Heading {转载 2015-11-10 11:32:14 · 788 阅读 · 0 评论 -
Android Activity 测试指南
本文假设读者已经安装好了 Eclipse/ADT,以及配置好了 Android 开发环境。本文其实是 Activity Testing 的翻译。Activity 测试指南Android 提供了强大的测试工具。这些工具继承于 JUnit 的同时扩展了额外的特性,提供更加便捷的系统对象 Mock 类,使用 instrumentation 操控被测应用。整个 Android 测试环境转载 2015-11-10 12:48:20 · 212 阅读 · 0 评论 -
获取 Android 设备上当前运行的应用的 apk
有时候在给开发提缺陷时(三方应用兼容性)需要附上第三方应用的apk,或者出于需要,需取得设备上某个应用的apk文件,如果是直接从PC端安装的话,获取apk很方便,如果是从设备上安装的且安装包删除了的话,若需获取,则需要从data/app目录或者system/app目录下获取。但在该目录下的apk名与应用名称是不同的,很多时候难以找到正确对应的apk,因此可以按以下步骤获取(以windows为例):转载 2015-11-10 13:52:09 · 452 阅读 · 0 评论 -
Appium Wrapper for Java
基于Appium的移动测试框架,Appium的Wrapper很关键。Talk is cheap, Java版本代码如下:package com.ctrip.cap.lanucher;/** * A service wrapper for Appium Server * * @author ltyao * */public class AppiumServer { p转载 2015-11-10 13:57:13 · 109 阅读 · 0 评论 -
UiAutomator系列——Appium Android Bootstrap源码分析之启动运行(009)
通过前面的两篇文章《Appium Android Bootstrap源码分析之控件AndroidElement》和《Appium Android Bootstrap源码分析之命令解析执行》我们了解到了Appium从pc端发送过来的命令是如何定位到命令相关的控件以及如何解析执行该命令。那么我们剩下的问题就是bootstrap是怎么启动运行的,我们会通过本篇文章的分析来阐述这个问题,以及把之前学习转载 2015-11-10 14:33:28 · 177 阅读 · 0 评论 -
UiAutomator系列——Appium Android Bootstrap源码分析之简介(006)
在上一个系列中我们分析了UiAutomator的核心源码,对UiAutomator是怎么运行的原理有了根本的了解。今天我们会开始另外一个在安卓平台上基于UiAutomator的新起之秀--Appium的源码分析之旅。本文在真个系列中会扮演一个简介的角色,不会分析任何的代码,只会先给大家一个基本的印象,方便大家在持有这个印象的基础上往下和本人一块分析。1. Bootstrap定义及在Ap转载 2015-11-10 14:36:33 · 182 阅读 · 0 评论