上次说道:要具备的一些知识,还有多ADB得理解

本次继续ADB理解:

AndroidDebugBridge debugBridge =AndroidDebugBridge.createBridge("D:\\android-sdk\\platform-tools\\adb.exe",true);if(debugBridge ==null){System.err.println("Invalid ADB location.");System.exit(1);

以上部分是通过debugbridge建立一个桥接,判断是否得到设备,其中下面又引用了两个devicesConnect和devicesDisconnect两个方法,在这两个方法中可以打印一些日志,判断设备是否连接上

import java.io.IOException;import com.android.ddmlib.AndroidDebugBridge;import com.android.ddmlib.AndroidDebugBridge.IDeviceChangeListener;import com.android.ddmlib.IDevice;publicclassMain{publicstaticvoid main(String[] args)throwsIOException{AndroidDebugBridge.init(false);AndroidDebugBridge debugBridge =AndroidDebugBridge.createBridge("D:\\android-sdk\\platform-tools\\adb.exe",true);if(debugBridge ==null){System.err.println("Invalid ADB location.");System.exit(1);}AndroidDebugBridge.addDeviceChangeListener(newIDeviceChangeListener(){@Overridepublicvoid deviceChanged(IDevice device,int arg1){// not implement}@Overridepublicvoid deviceConnected(IDevice device){System.out.println(String.format("%s connected", device.getSerialNumber()));}@Overridepublicvoid deviceDisconnected(IDevice device){System.out.println(String.format("%s disconnected", device.getSerialNumber()));}});System.out.println("Press enter to exit.");System.in.read();}}

如果想只运行一个adb连接进行自动化,那么使用synchronized (slock){}方法

synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法,有的话要等正在使用synchronized方法的线程B(或者C 、D)运行完这个方法后再运行此线程A,没有的话,直接运行。它包括两种用法:synchronized 方法和 synchronized 块。

Android自动化预备(下)的更多相关文章

  1. 自动化预备知识上&&下--Android自动化测试学习历程

    章节:自动化基础篇——自动化预备知识上&&下 主要讲解内容及笔记: 一.需要具备的能力: 测试一年,编程一年,熟悉并掌握业界自动化测试工具(monkey--压力测试.monkeyrun ...

  2. Android自动化学习笔记:编写MonkeyRunner脚本的几种方式

    ---------------------------------------------------------------------------------------------------- ...

  3. Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例

    ---------------------------------------------------------------------------------------------------- ...

  4. Android自动化测试之Monkeyrunner学习笔记(一)

    Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...

  5. Android自动化压力测试图解教程——Monkey工具

    [置顶] Android自动化压力测试图解教程--Monkey工具 标签: 测试androidprofiling工具测试工具文档 2012-04-01 10:16 38185人阅读 评论(10) 收藏 ...

  6. android自动化环境搭建

    android自动化环境安装指南 1.appium相关安装(eclipse下)见http://www.cnblogs.com/wangcp-2014/p/5717589.html参考selenium的 ...

  7. [转] Android自动化测试之使用java调用monkeyrunner(五)

    Android自动化测试之使用java调用monkeyrunner 众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本.不过, ...

  8. [转] android自动化之MonkeyRunner测试环境配置(一)

    Android自动化测试之MonkeyRunner 一.Android自动化测试之环境搭建 1.1  Android-sdk介绍 ¢ SDK(Software development kit)软件开发 ...

  9. Android自动化测试之环境搭建

    Android自动化测试之环境搭建 一.Android-sdk介绍 SDK(Software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台. ...

随机推荐

  1. jquery中checkbox选中的问题之prop&attr惹的祸

    一个网上很多的例子如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...

  2. javascript 刷新当前页面

    编辑器加载中... 1. window.location.replace(window.location.href)

  3. LeetCode "Russian Doll Envelopes"

    An intuitive DP - should be 'medium'. class Solution { public: int maxEnvelopes(vector<pair<in ...

  4. HBase体系结构(转)

    HBase的服务器体系结构遵循简单的主从服务器架构,它由HRegion服务器(HRegion Server)群和HBase Master服务器(HBase Master Server)构成.HBase ...

  5. SQL Server 2008 数据库镜像部署实例之三 配置见证服务器

    SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...

  6. CSS基本语法

    这里主要介绍Bootstrap里用到的CSS语法,以便在源码分析时更容易理解和学习.Bootstrap的CSS组件的核心就是选择器的定义以及在各自优先级上的处理. 优先级 如何确定CSS的优先级,这里 ...

  7. spring Transaction Propagation 事务传播

    spring Transaction中有一个很重要的属性:Propagation.主要用来配置当前需要执行的方法,与当前是否有transaction之间的关系. 我晓得有点儿抽象,这也是为什么我想要写 ...

  8. [HTML] CSS Id 和 Class选择器

    id 和 class 选择器 如果你要在HTML元素中设置CSS样式,你需要在元素中设置"id" 和 "class"选择器. id 选择器 id 选择器可以为标 ...

  9. silverlight简单数据绑定2

    <Grid x:Name="LayoutRoot" Background="white" Loaded="LayoutRoot_Loaded&q ...

  10. shell基础

    1.显示当前登录linux系统的用户 2.当用户登录到linux系统后,一旦出现提示符时,便可以输入操作命令了.命令可以分为如下两类: (1).bash内置的命令: (2).应用程序. 怎么知道哪些指 ...