一种针对界面的测试方法和装置的制造方法_2

文档序号:9865399阅读:来源:国知局
的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0074]参照图2,示出了根据本发明一个实施例的一种针对界面的测试方法实施例1的步骤流程图,具体可以包括如下步骤:
[0075]步骤201,调用测试用例;
[0076]在本发明实施例中,通过接口获取待测试应用的界面信息进行UI(用户界面,UserInterface)测试,可以覆盖多个测试平台,如Android(安卓)、1S、Windows Phone、Windows等等。
[0077]为使本领域技术人员更好地理解本发明实施例,在本发明实施例中,将Android作为测试平台的一种示例进行说明。
[0078]在Android系统中,可以应用多种自动化测试框架,例如,Robotium、MoneyRunner、UIAutomator、Monkey 等。
[0079]为使本领域技术人员更好地理解本发明实施例,以下以UIAutomator作为自动化测试框架的示例进行说明。
[0080]UI Automa tor 提供了 一组UI 测试的组件和API (Appl i cat 1n ProgrammingInterface,应用程序编程接口),UI测试确保应用在一系列用户操作后,如键盘输入、点击工具栏、菜单、对话框、图片或其他UI控件,返回正确的UI输出。
[0081]当准备测试的时候,待测的应用可能还没有发布到市场上,但应该具有该应用的APK(AndroidPackage,安装包)文件,可以通过ADB工具或其他工具将待测试的应用安装到移动设备中。
[0082]UIAutomator测试案例(Test case)继承至UiAutomatorTestCase类。
[0083]而UiAutomatorTestCase类继承至junit.framework.TestCase类,所以可以用JUnit的Assert类来比较测试结果。
[0084]在UI测试时,可以调用预设的一个或多个测试用例(TestCase),其是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
[0085]在实际应用中,测试用例可以包括如下的一个或多个内容:
[0086]I)应用名称;
[0087]2)应用版本(内部版本号);
[0088]3)功能模块名;
[0089]4)测试用例的简单描述,即该用例执行的目的或方法;
[0090]5)测试用例的参考信息(便于跟踪和参考);
[0091 ] 6)本测试测试用例与其他测试用例间的依赖关系;
[0092]7)本测试用例的前置条件,即执行本用例必须要满足的条件,如对数据库的访问权限;
[0093]8)测试用例的编号(ID),如可以是软件名称简写-功能块简写-N0.;
[0094]9)步骤号、操作步骤描述、测试数据描述;
[0095]10)预期结果。
[0096]步骤202,调用待测试应用的接口、获取待测试应用的界面信息;
[0097]应用本发明实施例,可以预先在待测试应用中添加接口,待测试应用的接口为基于接口定义语言生成,通过该接口可以定义进程间的通信接口,进行测试的应用调用此接口获取当前界面的界面信息。
[0098]其中,进行测试的应用通过进程间通信(interprocess communicat1n,IPC)与待测试应用进行通信。
[0099]如2所示,在Andro id系统中,待测试应用的接口为基于AIDL( An droid InterfaceDefinit1n Language,安卓接口描述语言)定义,进行测试的应用调用该接口获取待测试应用当前界面的界面信息。
[0100]对于UI界面上一些某些动态变化的值,如图1所示的“你好”、“你号”、“你敢”等候选字符串,本发明实施例可以不对这些变化的值进行计算,而是通过调用接口获取。
[0101]步骤203,当所述接口返回成功时,通过所述测试用例按照所述界面信息在待测试应用的界面中进行操作。
[0102]在本发明实施例中,接口可以是同步调用,根据返回值判断是否成功,返回值不为空表示返回成功。
[0103]进而,可以调用测试用例采用待测试应用反馈的界面信息在待测试的应用的界面上模拟用户操作。
[0104]例如,对于如图1所示的“你好”、“你号”、“你敢”等候选字符串,可以在界面上点击“你好”,选择“你好”上屏。
[0105]在本发明的一种可选实施例中,步骤203可以包括如下子步骤:
[0106]子步骤Sll,通过所述测试用例在所述界面信息中查找指定的界面元素;
[0107]子步骤S12,对所述界面元素进行指定的操作。
[0108]界面信息可以包括界面元素文本、界面元素坐标,除此之外,还可以包括按钮是否可见,当前高亮的候选等信息。
[0109]在具体实现中,可以提取测试用例中测试对象文本,查找与该对象文本匹配的界面元素文本,在该界面元素文本对应的界面元素坐标上进行指定的操作。
[0110]其中,在待测试应用的界面中进行的操作可以包括如下的一种或多种:
[0111]点击、长按、滑动。
[0112]本发明实施例调用待测试应用的接口、实施例获取其界面元素的界面信息进行界面测试,保证可以实时获取动态变化的界面元素的值,由于是待测试应用自身反馈的界面信息,不用计算其坐标,进而避免了分辨率的问题,降低了测试的复杂度,此外,通过测试应用自身反馈的界面信息实现了自动化测试,避免手动测试,降低了出错的概率,提高了测试的效率。
[0113]参照图4,示出了根据本发明一个实施例的一种针对界面的测试方法实施例2的步骤流程图,具体可以包括如下步骤:
[0114]步骤401,调用测试用例;
[0115]步骤402,通过所述测试用例在待测试应用的界面中进行操作;
[0116]在本发明实施例中,为加快测试进度,对于一些固定的界面元素,可以直接计算其位置,调用测试用例中直接对其进行指定的操作,模拟用户操作。
[0117]例如,如图1所示的0-9的数字键的位置相对固定,可以直接计算其位置,调用测试用例模拟用户点击“6”、“4”、“4”、“2”、“6”,之后,输入法应用查找到“你好”、“你号”、“你敢”
等候选字符串。
[0118]需要说明的是,这些固定的界面元素也可以在调用测试应用的接口、获取待测试应用的界面信息之后再进行操作,本发明实施例对此不加以限制。
[0119]例如,可以调用输入法的接口,获取如图1所示的0-9的数字键的位置,再调用测试用例模拟用户点击“6”、“4”、“4”、“2”、“6”,之后,输入法应用查找到“你好”、“你号”、“你敢”
等候选字符串。
[0120]步骤403,调用待测试应用的接口、获取待测试应用的界面信息;
[0121 ]步骤404,当所述接口返回失败时,生成测试报告;
[0122]在本发明实施例中,接口可以是同步调用,根据返回值判断是否成功,返回值为空表示返回失败。
[0123]若返回失败,则可以直接生成测试报告,提示接口异常,调用失败。
[0124]步骤405,当所述接口返回成功时,通过所述测试用例按照所述界面信息在待测试应用的界面中进行操作;
[0125]步骤406,获取在待测试应用的界面中
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1