实现Android移动终端自动化测试的方法及系统的利记博彩app

文档序号:9263568阅读:470来源:国知局
实现Android移动终端自动化测试的方法及系统的利记博彩app
【技术领域】
[0001]本发明涉及通讯技术领域,尤其涉及一种实现Android移动终端自动化测试的方法及系统。
【背景技术】
[0002]随着Android移动终端(例如手机)功能越来越复杂,Android手机软件测试投入的人力越来越多,测试成本越来越高。传统的人工测试很难满足日益增长的Android手机软件测试需求。实施手机自动化测试成为一种趋势。
[0003]当前Android手机自动化测试框架大多搭建在手机内部,测试脚本也在手机内部执行。这样做有两个弊端:
1、需要修改手机软件代码或者额外安装APK。
[0004]2、无法实现测试脚本单步执行,增加了脚本写作成本。
[0005]因此,现有技术还有待于改进和发展。

【发明内容】

[0006]鉴于上述现有技术的不足,本发明的目的在于提供一种实现Android移动终端自动化测试的方法及系统,旨在解决现有的测试方法效率低、成本高、需在手机内部执行等问题。
[0007]本发明的技术方案如下:
一种实现Android移动终端自动化测试的方法,其中,包括步骤:
A、将移动终端与PC端通过数据线连接;
B、将Android指令执行器上传到移动终端;
C、PC端通过cmd命令向移动终端发送测试指令;
D、Android指令执行器接收到测试指令后,执行相应的操作,并返回指令执行结果至PC端。
[0008]所述的实现Android移动终端自动化测试的方法,其中,所述步骤D具体包括:
D1、判断测试指令是否合法,若合法则进入步骤D2 ;
D2、获取测试指令的参数;
D3、判断测试指令的参数是否合法,若合法则进入步骤D4 ;
D4、根据测试指令的参数执行相应的操作;
D5、返回指令执行结果。
[0009]所述的实现Android移动终端自动化测试的方法,其中,所述步骤D4具体包括: D41、根据测试指令的参数判断测试指令类型;
D42、若测试指令类型为点击操作类型,则按点击操作类型进行处理;
D43、若测试指令类型为滑动操作类型,则按滑动操作类型进行处理。
[0010]所述的实现Android移动终端自动化测试的方法,其中,所述步骤D42具体包括: 若测试指令类型为单击操作类型,则获取单击的坐标;
若测试指令类型为双击操作类型,则获取双击的坐标;
若测试指令类型为长按操作类型,则获取长按的坐标;
根据坐标在移动终端界面上查找对应的对象;
然后执行相应的操作。
[0011 ] 所述的实现Android移动终端自动化测试的方法,其中,所述步骤D43具体包括: 获取滑动前后的坐标,然后将移动终端界面按滑动前后的坐标进行滑动。
[0012]所述的实现Android移动终端自动化测试的方法,其中,判断滑动前后的界面是否有变化,若无变化,则退出操作。
[0013]—种实现Android移动终?而自动化测试的系统,其中,包括:
连接模块,用于将移动终端与PC端通过数据线连接;
上传模块,用于将Android指令执行器上传到移动终端;
发送模块,用于PC端通过cmd命令向移动终端发送测试指令;
测试模块,用于Android指令执行器接收到测试指令后,执行相应的操作,并返回指令执行结果至PC端。
[0014]所述的实现Android移动终端自动化测试的系统,其中,测试模块具体包括: 第一判断单元,用于判断测试指令是否合法,若合法则进入步骤D2 ;
参数获取单元,用于获取测试指令的参数;
第二判断单元,用于判断测试指令的参数是否合法,若合法则进入步骤D4 ;
操作执行单元,用于根据测试指令的参数执行相应的操作;
结果返回单元,用于返回指令执行结果。
[0015]所述的实现Android移动终端自动化测试的系统,其中,操作执行单元具体包括: 类型判断子单元,用于根据测试指令的参数判断测试指令类型;
点击处理子单元,用于若测试指令类型为点击操作类型,则按点击操作类型进行处理;
滑动处理子单元,用于若测试指令类型为滑动操作类型,则按滑动操作类型进行处理。
[0016]所述的实现Android移动终端自动化测试的系统,其中,所述数据线为USB数据线。
[0017]有益效果:本发明无需修改Android移动终端任何软件代码,测试脚本在移动终端外部(例如,PC)执行,从外部发送测试指令,实现自动化测试。能有效节省实施自动化测试的成本,提高自动化测试的效率。
【附图说明】
[0018]图1为本发明一种实现Android移动终端自动化测试的方法较佳实施例的流程图。
[0019]图2为本发明一种实现Android移动终端自动化测试的系统较佳实施例的结构框图。
【具体实施方式】
[0020]本发明提供一种实现Android移动终端自动化测试的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021]请参阅图1,图1为本发明一种实现Android移动终端自动化测试的方法较佳实施例的流程图,如图所示,其包括步骤:
5101、将移动终端与PC端通过数据线连接;
5102、将Android指令执行器上传到移动终端;
5103、PC端通过cmd命令向移动终端发送测试指令;
5104、Android指令执行器接收到测试指令后,执行相应的操作,并返回指令执行结果至PC端。
[0022]本发明实施例中,无需修改Android移动终端任何软件代码,只需将Android指令执行器上传到移动终端,然后在移动终端外部执行测试脚本即可,从而节省了自动化测试的成本,并且提高了测试效率。
[0023]具体来说,所述步骤S104具体包括:
5201、判断测试指令是否合法,若合法则进入步骤S202;
5202、获取测试指令的参数;
5203、判断测试指令的参数是否合法,若合法则进入步骤S204;
5204、根据测试指令的参数执行相应的操作;
5205、返回指令执行结果。
[0024]判断测试指令是否合法是指测试指令是否符合预先设定好的测试类型,如指令不合法,则无法进行测试,即无法响应该测试指令的操作。
[0025]判断测试指令的参数是否合法,是指测试指令的坐标、时间等等参数是否符合测试指令的要求,如不符合,则无法响应该测试指令的操作。
[0026]如检测均合法,则执行相应的操作,然后返回指令执行结果。如有检测不合法的情况,则返回错误提示给PC端,提示测试指令不合法。
[0027]进一步,所述步骤S204具体包括:
5301、根据测试指令的参数判断测试指令类型;
5302、若测试指令类型为点击操作类型,则按点击操作类型进行处理;
5303、若测试指令类型为滑动操作类型,则按滑动操作类型进行处理。
[0028]测试指令的参数可表示其类型,例如测试质量的类型可以是点击操作类型或者滑动操作类型,通过分析测试指令的类型,从而按照相应的处理方式进行处理。
[0029]代码如下:
public class Runner extends UiAutomatorTestCase {
public void testDemo() throws U1bjectNotFoundExcept1n, 1Except1n
{
String cmdType, Getlndex, GetOprType, GetXXX, GetXXX_Val;
String ParList [][]; int x, y, x_end, y_end;
ParList = new String[2][30];Bundle allPar=getParams();
//获取指令值cmdType = allPar.getString(〃type〃);
UiDevice device = getUiDevice ();
ReadFile(ParListjcmdType);
//获取参数值GetOprType = GetPar(ParList,〃opr—type〃);
//进入“click”指令处理流程if (cmdType.equals (〃click〃)){
GetOprType = allPar.getString("opr—type");
X = Integer, parselnt(allPar.getString(〃x〃)); y = Integer, parselnt (allPar.getString(〃y〃)); if (GetOprType.equals(〃Short〃)){
//单击屏幕device, click(x, y);
} else if (GetOprType.equals("Double")) {
//双击屏幕 device, click(x, y); sleep (50); device, click(x, y);
}else {
//长按屏幕device, swipe (x, y, x, y, 60);
}
}
//进入“slide”指令处理流程else if (cmdType.equals(〃slide〃)){int durat1n;
X = Integer, parselnt(allPar.getString(〃x〃)); y = Integer, parselnt (allPar.getString (〃y〃)); x_end = Integer, parselnt(allPar.getString(〃x_end〃)); y_end = Integer, parselnt(allPar.getString(〃y_end〃)); durat1n = Integer, parselnt (allPar.getString (〃durat1n〃)); device, swipe (x, y, x_end, y_end, durat1n*2/100);
}
//进入非法指令处理流程
else {
System, out.println(^FAILURES!!!cmd type not defind!!!:〃 +cmdType);
}
Return "PASS";
}
}
进一步,所述步骤S302具体包括:
若测试指令类型为单击操作类型,则获取单击的坐标;
若测试指令类型为双击操作类型,则获取双击的坐标;
若测试指令类型为长按操作类型,则获取长按的坐标;
根据坐标在移动终端界面上查找对应的对象;
然后执行相应的操作。
[0030]对于点击操作,获取点击的坐标,然后根据坐标在移动终端界面上查找对应的对象,若查找到对应的对象,例如某个图标,则对该图标执行相应的操作,若未找到对应的对象,例如为某个界面空白处,那么操作结果就是没有内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1