使用apk来自动化测试,需要手机有root权限,所以采用写java程序,利用adb shell来实现自动化测试。
一、所需知识
最基础的adb shell 指令。input tab 等。
二、所需环境
硬件:一台电脑、一部手机、一根数据线。软件:jdk、adb工具
三、编码
功能:模拟用户打开微信,并进行搜索就这么完成了。其实这里用shell命令模拟用户操作还是有些问题的,比如说控件长按(sendevent),好难理解,而且需要跟其中传递的控件坐标参数应该要跟屏幕分辨率联系起来,实际应用范围不是很广泛 。
private String[] search = {
// "adb shell",
// "sleep 3",
"input keyevent 3",// 返回到主界面,数值与按键的对应关系可查阅KeyEvent
"sleep 1",// 等待1秒
"am start -n com.tencent.mm/com.tencent.mm.ui.LauncherUI",// 打开微信的启动界面,am命令的用法可自行百度、Google
"sleep 3",// 等待3秒
"am start -n com.tencent.mm/com.tencent.mm.plugin.search.ui.SearchUI",// 打开微信的搜索
"input text 123",// 像搜索框中输入123,但是input不支持中文,蛋疼,而且这边没做输入法处理,默认会自动弹出输入法
};
public static void main(String[] args) throws AWTException, InterruptedException, IOException
{
TencentTest tencentTest = new TencentTest();
//如果input text中有中文,可以将中文转成unicode进行input,没有测试,只是觉得这个思路是可行的
tencentTest.search[5] = tencentTest.chineseToUnicode(tencentTest.search[5]);
tencentTest.execShell(tencentTest.search);
}
完整代码下载: TencentTest.java
效果图如下:
版权声明:本文为linweidong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。