# -*- coding:utf-8 -*- import os import sys import subprocess from uiautomator import device as d cmd = r'adb install E:\Project\A3A_8_4G\exercise\app_list\wps.apk' installinfo = subprocess.check_output(cmd).split("\r\n") if installinfo[0] == 'S…
Handler用来发消息和处理消息.典型的用法是更新界面.android不允许在子线程里面更新界面,通常是把Handler传到子线程中,在子线程里通过sendEmptyMessage函数发消息.Handler的handleMessage函数响应消息,实现更新界面. 下面看一个例子.Handler的定义如下: public class PlayHandler extends Handler { private ImageView imageView; int currentImageId = 0;…
在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行.在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI工具包       当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理.所以主线程通常又被叫…
---------------------------------------------------------------------------------------------------------------------------- 小记: 一直都是用公司自己研发的自动化工具,对市面开源的自动化工具知之甚少,所以开始自学开源的自动化工具. 初步学习中,难免会有疏漏和想不到的地方,随着不断深入的了解,可能会觉得现在的笔记很可笑,不过有新的体会,我会及时修改,不断进步. 2014-1…
1.MultiType简单介绍 1.1.MultiType用于比较复杂的页面. 如下图,今日头条用到了MultiType处理各种复杂的页面.    这种还是比较简单的类型.因为一个页面也就这种类型. 下面看看这个页面. 这个就比较复杂了,所以这时候MultiType的作用就体现出来了. 一个页面用一个单独的RecyclerView就可以实现. 再比如微博列表页面:    有纯文本的.代转发原文的,带图片的.带视频的.带文章的等等,甚至穿插一条可以横向滑动的好友推荐条目. 不同的item类型众多,…
一.ListView的简单用法 2. 训练目标 1) 掌握 ListView 控件的使用 2) 掌握 Adapter 桥梁的作用 实现步骤: 1)首先新建一个项目, 并让ADT 自动帮我们创建好活动.然后修改activity_main.xml 中的代码,如下所示: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andro…
今天学到的是spinner,就是下拉列表,这可不是ExpandListView哈. 闲话不解释.这是控件,所以先上布局:就不上线性布局了,基本上可以总结出,控件都得在布局里写,写之前嵌个布局就行. <Spinner android:layout_height="wrap_content" android:layout_width="match_parent" android:entries="@array/spinner_arr"     …
Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyrunner.Athrun.appium,目前仍在了解学习android测试框架.CTS等.本文主要为前段时间学习总结,由于刚接触不久,故本文难免会有些肤浅,大神请绕走~ [目录] 1.Monkeyrunner简介 2.Monkeyrunner工具特性 3.Monkeyrunner工具同Monkey工…
[置顶] Android自动化压力测试图解教程--Monkey工具 标签: 测试androidprofiling工具测试工具文档 2012-04-01 10:16 38185人阅读 评论(10) 收藏 举报  分类: android(3)  版权声明:本文为博主原创文章,未经博主允许不得转载. 有时候我们需要对一个软件进行压力测试,检查该软件的性能.如果是人工进行测试的话,效率会低很多,而且会比较枯燥.这时,Android中的一个命令行工具Monkey就可以为我们减轻很多重复而又繁琐的工作. 一…
subprocess是python在2.4引入的模块, 主要用来替代下面几个模块和方法: os.systemos.spawn*os.popen*popen2.*commands.* 可以参考PEP324: http://legacy.python.org/dev/peps/pep-0324/ 这是一个用来调用外部命令的模块, 替代了一些旧的模块, 提供了更加友好统一的接口. 三个封装方法 使用下面三个方法的时候, 注意两个问题: 1. shell=True或False, 两种解析方式是不同的 2…