包含标签 android 的文章

Xposed框架初体验

想必很多人都听说过微信抢红包插件,但是很少有人想过它是怎么实现的,以前我以为是可能通过监听某个消息广播或者什么的,但是前几天在testerhome中看到有一篇介绍Xposed框架的文章用黑客思维做测试——神器 Xposed 框架介绍,我觉得这应该是广大抢红包插件的实现。正好有个同事和我说过有一个微信计步的作弊器(汗,怎么这个东西净用在这方面呢)手把手教你当微信运动第一名,于是对这个大名鼎鼎的Xposed学习了一番,觉得它有很多潜能!

……

阅读全文

(转)Android Context完全解析,你所不知道的Context的各种细节

以下转自郭霖大神的博客

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47028975 前几篇文章,我也是费劲心思写了一个ListView系列的三部曲,虽然在内容上可以说是绝对的精华,但是很多朋友都表示看不懂。好吧,这个系列不仅是把大家给难倒了,也确实是把我给难倒了,之前为了写瀑布流ListView的Demo就写了大半个月的时间。那么本篇文章我们就讲点轻松的东西,不去分析那么复杂的源码了,而是来谈一谈大家都熟知的Context。 Context相信所有的Android开发人员基本上每天都在接触,因为它太常见了。但是这并不代表Context没有什么东西好讲的,实际上Context有太多小的细节并不被大家所关注,那么今天我们就来学习一下那些你所不知道的细节。

……

阅读全文

Uiautomator中watcher的使用

今天在uiautomator中实践了watcher的用法,这个也是之前在python中使用uiautomator中比较喜欢的功能,它可以提前定义一些条件,当满足一些条件时,进行一些操作,这个常用于处理测试过程中某些意料之外的或者不知道什么时候弹出来的框而阻碍测试的正常进行。 之前在写自动化用例的时候,遇到过小米手机在安装app的时候,会弹一个框来让用户点击安装,还有弹出一个升级检测的框点击“取消”按钮,或者遇到退出的时候点击确定,当然这些完全可以在用例里写逻辑来处理,而且有些还是程序本身要测试的检测点,当然这些对于大多数测试来说没有太大的意义,所以可以将其放入一个watcher里来让uiautomator来帮你进行相应的点击处理。

……

阅读全文

Android中的listView与ArrayAdapter与LayoutInflater的使用

最近在看《第一行代码-android》,这本书讲的不错,从最android基础的开始讲起,由浅入深,一步一步的教怎么使用android开发中的各种内容,今天看到listView,书中讲到listView可能是使用最多也是最难的一个组件,看过之后觉得还是需要好好消化一下的,借助书中的代码,来记录一下学习的过程

一、在listView中简单的显示一行文字

这个应该是listView应用中最简单的了,在使用listView中,一般的步骤应该是,先在main_activity.xml中创建好listView的布局

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/list_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

</ListView>

</LinearLayout>
……

阅读全文

使用uiautomator的python封装进行android的UI测试

最近项目中有个需求要在至少100台手机上对应用进行兼容性测试,首先想到的就是自动化来操作,不想一台台的操作相同的重复操作

基本的需求是这样的,安装被测试的应用,启动并退出,然后安装测试样本,检测是否有相应的弹窗拦截

考虑到市面上的各种测试框架与自已熟悉的编程语言,最后选择了google自家的uiautomator来搞,借助于前人对其进行了python封装,所以一开始还是挺顺利的,但是整个过程中还是有很多需要注意的地方

……

阅读全文

Android stadio上使用robotium初体验

在Android Stadio(as)上创建一个app的时候默认会自动创建相应的test类,可以直接在里面写单元测试用例

image
image

一、在项目(module)中导入robotium的jar包,右键app->new->directory,输入libs

然后将robotium-solo-5.3.1.jar复制进去,然后右键robotium-solo-5.3.1.jar选择add as library,之后就可以写测试用例了

如果还有问题,看一下项目的build gradle

dependencies {   
 compile fileTree(include: ['*.jar'], dir: 'libs')    
 compile 'com.android.support:appcompat-v7:21.0.3'    
 compile files('libs/robotium-solo-5.3.1.jar')    
}
……

阅读全文

spinner和适配器模式

原文 http://www.cnblogs.com/UUUP/p/3983394.html

spinner相当于html表单中的select下拉列表。

第一种方式

在string.xml中添加一个数组spinner_data:

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string-array name="spinner_data"> 
<item >北京</item> 
<item >湖南</item> 
<item >湖北</item> 
</string-array> 
</resources>
……

阅读全文

Android中的UI线程阻塞

当一个应用程序启动之后,android系统会为这个应用程序创建一个主线程,这个线程非常重要,它负责渲染视图,分发事件到响应监听器并执行,对界面进行轮询的监听,一般叫做“UI主线程”

Android系统不会给应用程序的多个元素组件建立多个线程来执行,一个视图(activity)中的多个view组件运行在同一个UI线程当中,因此,多个view组件的监听器的执行可能会相互影响。

如有以下两个button,其中一个在会在主view中进行移动动画,另外一个button在点击以后将线程sleep 5秒

……

阅读全文

Android开发初步

绑定单击事件有两种方法,一种是通过绑定android:onClick属性,一种是绑定一个setOnClickListener回调函数

通过绑定onClick属性

在activity_main.xml对应的组件上设置android:onClick=“test” 属性,然后再Java文件里定义一个test方法来实现,这个test方法是MainActivity类的一个方法

1
2
3
4
5

public void test(View view){
        Toast.makeText(MainActivity.this, "你还真敢点啊!", Toast.LENGTH_LONG).show();
    }
    

这里的view就是要使用的控件,如果是绑定的是个button,那么view就是这个button

……

阅读全文

Android官方的uiautomator例子的实现

Android的自动化测试有很多框架,其中uiautomator是google官方提供的黑盒UI相关的自动化测试工具,case使用java写,今天实践了一下官方文档中样例程序,其中还是有一些小问题需要总结一下的。 前几天试着使用uiautoamtor在真实的项目中写了一个简单的测试 使用Uiautomator做基于UI界面的测试

使用ADT创建一个java的项目

在创建项目的时候要加上JUnit与你使用的Android platforms中对应的android.jar与uiautomator.jar

image
image

……

阅读全文