appium自动化中测试手机的管理与分配

       前段时间,参与开发了公司基于appium的UI自动化的工作。写此文章是为了把所用到的技术和思路做一个保留,以便日后查看方便。

       PS:1.本文章不涉及服务端代码。2.本文章所涉及的内容只支持Android手机,IOS不在这里说明。

            前段时间有幸参与了公司的UI自动化平台的工作, 对于运行自动化case前需要做一系列的准备工作(比如手机的管理工作等),由我来开发完成。因无人请教,所以开始做的时候也无思路,通过Googld或baidu了很多东西,一步一步的从理清思路到开发完成。废话不多说,直接上内容。

 本程序主要的功能是在运行自动化case之前,为平台提供一些手机的必要参数、手机状态及与自动化平台的交互功能。目前可承载能力如下:

1:自动识别手机的上线与下线。

2:实时获取手机的状态(用来判断当前手机是否为空闲状态)。

3:获取手机基本参数。

4:http网络协议的引入(用来与服务端进行通信)。

-----------------------------据说有分割线是为了好看???---------------------------------

下面来说下详细的实现步骤:

 因工程需要管理手机设备,监听手机上线与下线,而谷歌ddmlib库提供了解决方案。ddmlib是DDMS工具的核心,它封装了一系列对ADB功能的封装,在使用时,需引入ddmlib.jar、ddms.jar和ddmuilib.jar三个jar包,其中ddmlib.jar是核心功能,其它两个是为了查看其实现原理而引的(ddms.jar和ddmuilib.jar包不引入也不会影响其功能的使用)。对于ddmlib库,本工程只使用了很少一部分功能,ddmlib是个很强大的库,能做的事情很多,有兴趣的话可以自行Google其使用攻略。

代码实现:

public void init(boolean clientSupport) {
		AndroidDebugBridge.init(clientSupport);
		mAdbBridge = AndroidDebugBridge.createBridge("adb", false);
	}

            要使用ddmlib首先需要初始化AndroidDebugBridge或者说首先要create一个AndroidDebugBridge出来,并且通过getDevices()方法获得了一个设备类(IDevice),这样我们就可以正常的使用ddmlib库里面提供的东西了。

	public static void waitDevicesList(AndroidDebugBridge bridge) {
		int count = 0;
		while (bridge.hasInitialDeviceList() == false) {
			try {
				Thread.sleep(500);
				count++;
			} catch (InterruptedException e) {
			}
			if (count > 60) {
				System.err.print("主类等待获取设备超时");
				break;
			}
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值