应用测试方法和装置与流程

文档序号:11950034阅读:177来源:国知局
应用测试方法和装置与流程
本公开涉及应用程序
技术领域
,尤其涉及一种应用测试方法和装置。
背景技术
:在现有的移动应用(Application,应用程序,简称应用)进行自动化测试时,首先需要对待测试控件进行逐个步骤的录制,而后在设备上(比如手机)自动化回放执行录制的各个步骤。但是该现有技术适用于简单的按钮、图片、输入框等对象,对于日期框等操作较复杂的控件,如果采用上述的录制方法,则需要录制大量的步骤,录制时间长,操作复杂,并且由于在不同设备或操作系统上展现差异较大,采用上述方式,在更换设备后进行的自动化回放执行时可能会出现执行步骤和实际界面不一致的问题。技术实现要素:本公开的目的是提供一种应用测试方法和装置,用于解决现有的测试过程中需要录制大量的步骤导致的录制时间长,操作复杂,以及在更换设备后进行的自动化回放执行时的执行步骤和实际界面不一致的问题。为了实现上述目的,本公开提供一种应用测试方法,所述方法包括:加载测试脚本,所述测试脚本是根据待测试应用的待测试控件配置的,所述测试脚本中包括所述待测试控件的控件信息和待执行操作的操作信息;根据所述测试脚本中的所述控件信息和所述操作信息对所述待测试控件执行所述待执行操作。可选地,所述控件信息包括所述待测试控件的控件类型、控件标识,所述待执行操作的操作信息包括所述待测试控件的待执行操作的操作类型、以及所述待执行操作的要输入的目标值。可选地,所述根据所述测试脚本中的所述控件信息和所述操作信息对所述待测试控件执行所述待执行操作,包括:根据所述控件类型和所述控件标识查找到所述待测试控件;根据所述操作类型和所述目标值确定所述的待执行操作的执行步骤;按照所述执行步骤执行所述待执行操作,使得所述待测试控件的输入值为所述目标值。可选地,所述待执行操作的操作信息还包括在配置所述测试脚本时的所述待测试控件的初始值,当所述待测试控件为指定控件时,在所述按照所述执行步骤执行所述待执行操作,使得所述待测试控件的输入值为所述目标值之前,还包括:判断所述待测试控件的当前值和所述待测试控件的初始值是否相同;当所述待测试控件的当前值和所述待测试控件的初始值不同时,根据所述待测试控件的当前值以及所述待测试控件的初始值对已确定的所述执行步骤进行调整。可选地,所述待测试控件为日期框控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述日期框控件的日期,所述待测试控件的当前值为所述日期框控件的当前日期,所述目标值为要输入的日期;或者,所述待测试控件为时间框控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述时间框控件的时间,所述待测试控件的当前值为所述时间框控件的当前时间,所述目标值为要输入的时间;或者,所述待测试控件为目录控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述目录控件的在读章节,所述待测试控件的当前值为所述目录控件的当前在读章节,所述目标值为要跳转至的章节。可选地,所述待测试应用的待测试控件包括:所述待测试应用中的一个或多个待测试控件。本公开还提供一种应用测试装置,所述装置包括:加载模块,用于加载测试脚本,所述测试脚本是根据待测试应用的待测试控件配置的,所述测试脚本中包括所述待测试控件的控件信息和待执行操作的操作信息;测试模块,用于加载所述测试脚本,根据所述测试脚本中的所述控件信息和所述操作信息对所述待测试控件执行所述待执行操作。可选地,所述控件信息包括所述待测试控件的控件类型、控件标识,所述待执行操作的操作信息包括所述待测试控件的待执行操作的操作类型、以及所述待执行操作的要输入的目标值。可选地,所述测试模块,包括:控件查找子模块,用于根据所述控件类型和所述控件标识查找到所述待测试控件;步骤确定子模块,用于根据所述操作类型和所述目标值确定所述的待执行操作的执行步骤;执行子模块,用于按照所述执行步骤执行所述待执行操作,使得所述待测试控件的输入值为所述目标值。可选地,所述待执行操作的操作信息还包括在配置所述测试脚本时的所述待测试控件的初始值,当所述待测试控件为指定控件时,所述步骤确定子模块还用于:判断所述待测试控件的当前值和所述待测试控件的初始值是否相同;当所述待测试控件的当前值和所述待测试控件的初始值不同时,根据所述待测试控件的当前值以及所述待测试控件的初始值对已确定的所述执行步骤进行调整。可选地,所述待测试控件为日期框控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述日期框控件的日期,所述待测试控件的当前值为所述日期框控件的当前日期,所述目标值为要输入的日期;或者,所述待测试控件为时间框控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述时间框控件的时间,所述待测试控件的当前值为所述时间框控件的当前时间,所述目标值为要输入的时间;或者,所述待测试控件为目录控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述目录控件的在读章节,所述待测试控件的当前值为所述目录控件的当前在读章节,所述目标值为要跳转至的章节。可选地,所述待测试应用的待测试控件包括:所述待测试应用中的一个或多个待测试控件。本公开提供的应用测试方法和装置,首先加载根据待测试应用的待测试控件配置的测试脚本,由于测试脚本中包括所述待测试控件的控件信息和待执行操作的操作信息,因此在加载所述测试脚本后可以根据所述控件信息和所述操作信息对所述待测试控件执行所述待执行操作。可以通过所述测试脚本将待测试控件以及待执行操作记录下来,从而在加载所述测试脚本后可自动执行待测试控件的待执行操作,从而可以通过上述测试脚本替代多个步骤的录制,能够解决现有的测试过程中需要录制大量的步骤导致的录制时间长,操作复杂的问题,以及在更换设备后进行的自动化回放执行时的执行步骤和实际界面不一致的问题,在实现节省时间,简化操作的效果的同时,也能够兼容不同的设备。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据本公开一实施例提供的一种应用测试方法的流程示意图;图2是根据本公开另一实施例提供的一种应用测试方法的流程示意图;图3是根据图2所示实施例示出的一种选择框控件的示意图;图4是根据图2所示实施例示出的一种日期框控件的示意图;图5是根据本公开又一实施例示出的一种应用测试方法的示意图;图6是根据本公开一实施例示出的一种应用测试装置框图;图7是图6所示实施例示出的一种测试模块框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。图1是根据本公开一实施例提供的一种应用测试方法的流程示意图,参见图1,该方法包括以下步骤。步骤101,加载测试脚本,所述测试脚本是根据待测试应用的待测试控件配置的,所述测试脚本中包括所述待测试控件的控件信息和待执行操作的操作信息。步骤102,根据所述测试脚本中的所述控件信息和所述操作信息对所述待测试控件执行所述待执行操作。其中,待测试应用的待测试控件可以是待测试应用的一个或多个待测试控件,因此根据该一个或多个待测试控件配置的测试脚本中就可以包括这一个或多个待测试控件的控件信息和待执行操作的操作信息。因此,该待测试脚本可以清楚地描述每个待测试控件具体是哪一个控件,需要执行什么操作。从而在加载该测试脚本后就可以按照测试脚本中描述的待测试控件和需要执行的操作自动地回放每一个要执行的步骤。并且,虽然不同设备的界面和操作步骤可能存在一定的差异,但是现有的设备的类型是有限的,可以通过枚举的方式尽可能多的包括各个型号的设备,并且可以在出现新的设备,或者设备上的新型控件时,对已配置好的控件进行更新,从而能够支持绝大多数的是设备进行应用测试。其中,在本公开的各个实施例中,设备可以是手机、平板电脑、PDA(PersonalDigitalAssistant,个人数字助理)、可穿戴智能设备等移动终端。另外,值得一提的是,配置测试脚本的过程和步骤101~102所述的执行该测试脚本的过程可以在同一设备中进行,也可以在不同设备中进行。综上,本公开提供的应用测试方法,首先加载根据待测试应用的待测试控件配置的测试脚本,由于测试脚本中包括所述待测试控件的控件信息和待执行操作的操作信息,因此在加载所述测试脚本后可以根据所述控件信息和所述操作信息对所述待测试控件执行所述待执行操作。可以通过所述测试脚本将待测试控件以及待执行操作记录下来,从而在加载所述测试脚本后可自动执行待测试控件的待执行操作,从而可以通过上述测试脚本替代多个步骤的录制,能够解决现有的测试过程中需要录制大量的步骤导致的录制时间长,操作复杂的问题,以及在更换设备后进行的自动化回放执行时的执行步骤和实际界面不一致的问题,在实现节省时间,简化操作的效果的同时,也能够兼容不同的设备。图2是根据本公开另一实施例提供的一种应用测试方法的流程示意图,参见图2,该方法包括以下步骤。步骤201,根据待测试应用的待测试控件配置测试脚本。示例的,所述测试脚本中包括所述待测试控件的控件信息和待执行操作的操作信息。其中,所述控件信息可以包括所述待测试控件的控件类型、控件标识,所述待执行操作的操作信息包括所述待测试控件的待执行操作的操作类型、以及所述待执行操作的要输入的目标值。例如,所述测试脚本可以如表1所示,在表1的控件类型一列中“select”表示下拉框的控件,“date”表示日期框控件,“input”表示输入框控件;控件标识用于区分不同的控件,可以采用表1中所示的文字表示,也可以采用其他方式,例如为每个控件分配唯一的ID;操作类型中的“setText”表示设置文本,“setValue”表示赋值。表1中所示的几个待测试控件,以及每个控件的控件信息和待执行操作的操作信息均为示例性的,包括但不限于此。表1控件类型控件标识操作类型要输入的目标值select币种setText美元select存款种类setText活期date起存日期setValue2015-6-6date结束日期setValue2016-12-31input存款金额setValue3000步骤202,加载测试脚本。示例的,在配置好待测试应用的测试脚本后,可以通过自动化测试工具来加载该测试脚本。步骤203,根据所述控件类型和所述控件标识查找到所述待测试控件。示例的,在测试脚本中包括多个待测试控件的情况下,可以对测试脚本中记录的多个待测试控件进行逐个测试,例如表1中所示,在加载测试脚本后,首先根据第一个行的控件类型“select”以及控件标识“币种”即可确定待测试的控件为用于选择币种的选择框控件,该下拉框控件可以如图3所示,图3是根据图2所示实施例示出的一种选择框控件的示意图。或者,可以根据第三个行的控件类型“date”以及控件标识“起存日期”即可确定待测试的控件为用于选择起存日期的日期框控件,该下拉框控件可以如图4所示,图4是根据图2所示实施例示出的一种日期框控件的示意图。步骤204,根据所述操作类型和所述目标值确定所述的待执行操作的执行步骤。步骤205,按照所述执行步骤执行所述待执行操作,使得所述待测试控件的输入值为所述目标值。在步骤204中,示例的,对于不同的待测试控件,以及不同的目标值,所确定的执行步骤也不相同。以图3所示的用于选择币种的选择框控件为例,根据表1中所记录的操作类型“setText”,以及目标值“美元”即可确定输入该目标值所需的执行步骤为:第一步,选中用于选择币种的选择框控件31上显示的美元选项311,第二步,点击用于选择币种的选择框控件31上显示的“完成”按钮312。或者,以图4所示的用于选择起存日期的日期框控件为例,根据表1中所记录的操作类型“setValue”,目标值“2015-6-6”(在运行日期框控件时,日期框控件所显示的日期通常为系统默认的当前日期,如图4中所示,当前日期为2015-7-8),则确定输入该目标值所需的执行步骤为:第一步,点击用于选择起存日期的日期框控件41中用于减小“月”的按钮411一次,将7月变为6月;第二步,点击用于选择起存日期的日期框控件41中用于减小“日”的按钮412两次,将8日变为6日,第三步,点击用于选择起存日期的日期框控件41上显示的“确认”按钮413。从而,在步骤205中,按照上述所确定的执行步骤执行对应的待执行操作,即可使得待测试控件的输入值为目标值,例如按照“第一步,选中用于选择币种的选择框控件31上显示的美元选项311,第二步,点击用于选择币种的选择框控件31上显示的“完成”按钮312”执行选择币种的操作即可完成对用于选择币种的选择框控件输入目标值“美元”操作。又例如,按照“第一步,点击用于选择起存日期的41中用于减小“月”的按钮411一次,将7月变为6月;第二步,点击用于选择起存日期的41中用于减小“日”的按钮412两次,将8日变为6日,第三步,点击用于选择起存日期的日期框控件41上显示的“确认”按钮413”执行起存日期选择的操作即可完成对用于选择起存日期的选择框控件输入目标值“2015-6-6”的操作。值得一提的是,步骤205可以是更换设备后执行,也可以不更换设备执行。另外,在测试脚本中,所述待执行操作的操作信息还可以包括在配置所述测试脚本时的所述待测试控件的初始值,这是为了防止对于某些指定控件(例如日期框控件、时间框控件、目录控件等)在测试时该待测控件的当前值与配置所述测试脚本时的初始值不同,从而防止因此导致的测试错误。图5是根据本公开又一实施例示出的一种应用测试方法的示意图,参见图5,上述情况下,在执行步骤205之前,还可以执行以下步骤。步骤206,判断所述待测试控件的当前值和所述待测试控件的初始值是否相同。当所述待测试控件的当前值和所述待测试控件的初始值不同时,执行步骤207,当所述待测试控件的当前值和所述待测试控件的初始值相同时,执行步骤205。步骤207,根据所述待测试控件的当前值以及所述待测试控件的初始值对已确定的所述执行步骤进行调整。在步骤207之后再按照调整后的执行步骤来执行步骤205。其中,所述待测试控件为日期框控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述日期框控件的日期,所述待测试控件的当前值为所述日期框控件的当前日期,所述目标值为要输入的日期;或者,所述待测试控件为时间框控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述时间框控件的时间,所述待测试控件的当前值为所述时间框控件的当前时间,所述目标值为要输入的时间;或者,所述待测试控件为目录控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述目录控件的在读章节,所述待测试控件的当前值为所述目录控件的当前在读章节,所述目标值为要跳转至的章节。其中,可以以日期框控件为例,例如图4所示的用于选择起存日期的日期框控件,在前文中通过步骤204将测试脚本转换成了实际的执行步骤,假设步骤205没有立即执行,而是步骤204执行后的次日(即2015-7-9)执行(也有可能是在执行步骤205时更换了设备,并且该设备默认的当前时间为2015-7-9),则需要将步骤204中确定的执行步骤调整为:第一步,点击用于选择起存日期的日期框控件41中用于减小“月”的按钮411一次,将7月变为6月;第二步,点击用于选择起存日期的日期框控件41中用于减小“日”的按钮412三次,将9日变为6日,第三步,点击用于选择起存日期的日期框控件41上显示的“确认”按钮413。对于其他的控件,如时间框控件以及目录控件,当该控件的当前值和配置测试脚本时的初始值不同时,对执行步骤的调整方法与日期框控件的原理相同,不再赘述。这样对于初始值发生变换变换的情况,也能够进行修正,并通过修正后的执行步骤进行自动化回放,从而能够解决由于输入值与预期不符的问题,进而避免自动化测试过程出错。图6是根据本公开一实施例示出的一种应用测试装置框图,该装置600用于执行图1至图5任一所示的方法,参见图6,所述装置600包括:加载模块610,用于加载测试脚本,所述测试脚本是根据待测试应用的待测试控件配置的,所述测试脚本中包括所述待测试控件的控件信息和待执行操作的操作信息;测试模块620,用于加载所述测试脚本,根据所述测试脚本中的所述控件信息和所述操作信息对所述待测试控件执行所述待执行操作。可选的,所述控件信息包括所述待测试控件的控件类型、控件标识,所述待执行操作的操作信息包括所述待测试控件的待执行操作的操作类型、以及所述待执行操作的要输入的目标值。可选的,图7是图6所示实施例示出的一种测试模块框图,参见图7,所述测试模块620,包括:控件查找子模块621,用于根据所述控件类型和所述控件标识查找到所述待测试控件;步骤确定子模块622,用于根据所述操作类型和所述目标值确定所述的待执行操作的执行步骤;执行子模块623,用于按照所述执行步骤执行所述待执行操作,使得所述待测试控件的输入值为所述目标值。可选的,所述待执行操作的操作信息还包括在配置所述测试脚本时的所述待测试控件的初始值,当所述待测试控件为指定控件时,所述步骤确定子模块622还用于:判断所述待测试控件的当前值和所述待测试控件的初始值是否相同;当所述待测试控件的当前值和所述待测试控件的初始值不同时,根据所述待测试控件的当前值以及所述待测试控件的初始值对已确定的所述执行步骤进行调整。可选的,所述待测试控件为日期框控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述日期框控件的日期,所述待测试控件的当前值为所述日期框控件的当前日期,所述目标值为要输入的日期;或者,所述待测试控件为时间框控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述时间框控件的时间,所述待测试控件的当前值为所述时间框控件的当前时间,所述目标值为要输入的时间;或者,所述待测试控件为目录控件时,所述待测试控件的初始值为在配置所述测试脚本时的所述目录控件的在读章节,所述待测试控件的当前值为所述目录控件的当前在读章节,所述目标值为要跳转至的章节。可选的,所述待测试应用的待测试控件包括:所述待测试应用中的一个或多个待测试控件。综上,本公开提供的应用测试装置,首先加载根据待测试应用的待测试控件配置的测试脚本,由于测试脚本中包括所述待测试控件的控件信息和待执行操作的操作信息,因此在加载所述测试脚本后可以根据所述控件信息和所述操作信息对所述待测试控件执行所述待执行操作。可以通过所述测试脚本将待测试控件以及待执行操作记录下来,从而在加载所述测试脚本后可自动执行待测试控件的待执行操作,从而可以通过上述测试脚本替代多个步骤的录制,能够解决现有的测试过程中需要录制大量的步骤导致的录制时间长,操作复杂的问题,以及在更换设备后进行的自动化回放执行时的执行步骤和实际界面不一致的问题,在实现节省时间,简化操作的效果的同时,也能够兼容不同的设备。以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1