具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的软件自动测试方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S100,接收用于测试软件的描述性语言。
为了便于测试软件,需要按照该软件自动测试方法的语言规则,预先编写用于测试软件的描述性语言,根据该描述性语言,完成对软件的测试。
步骤S101,从描述性语言中提取至少一个测试对象和至少一个测试动作。
具体地,测试对象可包括以下对象中的一个或多个:文件、进程、窗口、注册表以及服务。其中,窗口可包括以下窗口中的一个或多个:按钮、图标、超级链接以及输入框。而测试动作可包括以下动作中的一个或多个:新建、删除、写、移动、修改、关闭、传递、拖动、双击、单击、右键双击、右键单击、右键拖动、输入、增加、启动以及暂停等。
例如,描述性语言为“第一步,单击第一按钮;第二步,删除第一文件”,可从该描述性语言中提取出测试对象和测试动作,其中提取出的测试对象分别为第一按钮和第一文件,提取出的测试动作分别为单击和删除。
步骤S102,根据至少一个测试对象和至少一个测试动作,在对象库内查找与每个测试对象匹配的对象代码,在动作库内查找与每个测试动作匹配的动作代码。
其中,对象库和动作库已经预先创建完成,且对象库内存储有测试对象关键字与对象代码的映射关系,动作库内存储有测试动作关键字与动作代码的映射关系。具体地,测试对象关键字可包括:文件、进程、按钮、图标、输入框以及注册表等,测试动作关键字可包括:新建、删除、移动、关闭、双击、单击以及输入等。
例如,步骤S101提取了两个测试对象和两个测试动作,其中,两个测试对象分别为第一按钮和第一文件,两个测试动作分别为单击和删除。步骤S102则在对象库内查找分别与第一按钮和第一文件相匹配的对象代码,并在动作库内查找分别与单击和删除相匹配的动作代码。
步骤S103,按照描述性语言中描述的执行顺序,将对象代码和动作代码组合为可执行代码。
假设描述性语言为“第一步,单击第一按钮;第二步,删除第一文件”,步骤S103可按照描述性语言中描述的执行顺序,即“第一步”与“第二步”,先将与第一按钮相匹配的对象代码和与单击相匹配的动作代码进行组合,再将与第一文件相匹配的对象代码和与删除相匹配的动作代码进行组合,得到可执行代码。
步骤S104,执行可执行代码,得到执行结果。
执行上一步骤组合得到的可执行代码,获得对应的执行结果。
步骤S105,将执行结果与期望结果进行对比分析,得到测试结果。
将执行结果与期望结果进行对比,分析两者之间的差异,得到软件的测试结果。用户可根据测试结果判断出该软件是否已达到了期望结果,如果经判断得到该软件还没有达到期望结果,则还需对软件进行改进与优化,其中,期望结果为用户所期望得到的结果。
根据本实施例提供的软件自动测试方法,从用于测试软件的描述性语言中提取至少一个测试对象和至少一个测试动作,并分别在对象库和动作库中查找每个测试对象所匹配的对象代码和每个测试动作所匹配的动作代码,然后根据描述性语言将对象代码和动作代码进行组合得到可执行代码,执行可执行代码,并将其执行结果与期望结果进行对比分析获取测试结果。本发明提供的技术方案使用户无需编写可执行代码,直接根据描述性语言就可自动获取与该描述性语言相对应的可执行代码,进而快捷方便地完成了软件的自动测试,减少了人力成本和时间成本,降低了可执行代码的编写错误率。
图2示出了根据本发明另一个实施例的软件自动测试方法的流程示意图,如图2所示,该方法包括如下步骤:
步骤S200,接收用于测试软件的描述性语言。
其中,与可执行代码相比,该描述性语言更接近人们日常生活中所使用的语言。对于用户来说,编写用于测试软件的描述性语言比编写可执行代码更加简单、更加容易。
步骤S201,判断对象库和动作库是否存在;若对象库和动作库均存在,则执行步骤S202;若对象库和/或动作库不存在,则执行步骤S203。
当不确定对象库和动作库是否存在时,需要对对象库和动作库是否存在进行判断。如果经判断得到对象库和动作库均存在,则执行步骤S202;如果经判断得到对象库和/或动作库不存在,则执行步骤S203。
步骤S202,从描述性语言中提取至少一个测试对象和至少一个测试动作。
在对象库和动作库均存在的情况下,从描述性语言中提取至少一个测试对象和至少一个测试动作。
例如,描述性语言为“第一步,单击第一按钮;第二步,删除第一文件”,可从该描述性语言中提取出测试对象和测试动作,其中提取出的测试对象分别为第一按钮和第一文件,提取出的测试动作分别为单击和删除。
步骤S203,创建对象库和/或动作库。
经步骤S201判断出对象库和/或动作库不存在,则步骤S203需要创建对象库和/或动作库。具体地说,如果步骤S201判断得到对象库不存在,则步骤S203为创建对象库;如果步骤S201判断得到动作库不存在,则步骤S203为创建动作库;如果步骤S201判断得到对象库和动作库都不存在,则步骤S203为创建对象库和动作库。其中,对象库内存储有测试对象关键字与对象代码的映射关系,动作库内存储有测试动作关键字与动作代码的映射关系。在步骤S203执行完成后,执行步骤S202。
步骤S204,判断在对象库内是否能查找到任一测试对象匹配的对象代码;若是,则执行步骤S206;若否,则执行步骤S205。
步骤S205,为该测试对象配置对象代码并加入到对象库中。
如果在对象库内查找到与第一按钮相匹配的对象代码,但没有查找到与第一文件相匹配的对象代码,则需要为第一文件配置对象代码并加入到对象库中,以便扩充对象库所包括的内容。
步骤S206,判断在动作库内是否能查找到任一测试动作匹配的动作代码:若是,则执行步骤S208;若否,则执行步骤S207。
步骤S207,为该测试动作配置动作代码并加入到动作库中。
如果在动作库内都未查找到与单击和删除相匹配的动作代码,则需要为单击和删除都配置动作代码并加入到动作库中,以便扩充动作库所包括的内容,方便日后的继续使用。
步骤S208,按照描述性语言中描述的执行顺序,将对象代码和动作代码组合为可执行代码。
假设描述性语言为“第一步,单击第一按钮;第二步,删除第一文件”,步骤S208可按照描述性语言中描述的执行顺序,即“第一步”与“第二步”,先将与第一按钮相匹配的对象代码和与单击相匹配的动作代码进行组合,再将与第一文件相匹配的对象代码和与删除相匹配的动作代码进行组合,得到可执行代码。
步骤S209,执行可执行代码,得到执行结果。
执行上一步骤组合得到的可执行代码,获得对应的执行结果。
步骤S210,按照资源类型,将执行结果进行分解。
为了能够更好地与期望结果进行对比,可将执行结果按照资源类型进行分解,其中资源类型可包含以下类型的一种或多种:图像资源、进程资源以及文件资源。
步骤S211,将分解的不同资源类型的执行结果分别与对应的资源类型的期望结果进行对比分析,得到测试结果。
例如执行结果是按照图像资源与文件资源进行分解的,步骤S211将图像资源部分的执行结果与图像资源部分的期望结果进行对比,将文件资源部分的执行结果与文件资源部分的期望结果进行对比,分析它们之间的差异,得到软件的测试结果,从而使用户可直接清晰地得到不同资源类型的测试结果,以便对软件进行改进及优化。
另外,本发明提供的软件自动测试方法还可以设置执行可执行代码的次数,使可执行代码自动重复执行。因为有时执行一次可执行代码并不能够完全测试出软件所存在的漏洞与缺陷,有些漏洞是在多次执行之中偶然出现的,或者有些具体的环境也要求重复执行可执行代码,因此为了应对上述情况,本发明提供的技术方案能够根据用户的需求自动重复执行可执行代码。
根据本实施例提供的软件自动测试方法,从描述性语言中提取至少一个测试对象和至少一个测试动作,并分别在对象库和动作库中查找每个测试对象所匹配的对象代码和每个测试动作所匹配的动作代码,然后根据描述性语言将对象代码和动作代码进行组合得到可执行代码,执行可执行代码后并按照资源类型对比分析执行结果与期望结果,从而得到测试结果。本发明提供的技术方案不仅使用户可直接根据描述性语言自动获取与该描述性语言相对应的可执行代码,快捷方便地完成了软件的自动测试,减少了人力成本和时间成本,降低了可执行代码的编写错误率,而且还可使用户直接清晰地得到不同资源类型的测试结果,以便对软件进行改进及优化。
图3示出了根据本发明一个实施例的软件自动测试装置的功能结构示意图,如图3所示,该装置包括:接收模块301、提取模块302、查找模块303、组合模块304、执行模块305和对比分析模块306。
接收模块301,适于接收用于测试软件的描述性语言。
接收模块301接收用户预先编写的用于测试软件的描述性语言,本发明提供的软件自动测试装置可根据该描述性语言自动完成对软件的测试。
提取模块302,适于从描述性语言中提取至少一个测试对象和至少一个测试动作。
例如,接收模块301接收的描述性语言为“第一步,单击第一按钮;第二步,删除第一文件”,提取模块302可从该描述性语言中提取出测试对象和测试动作,其中提取出的测试对象分别为第一按钮和第一文件,提取出的测试动作分别为单击和删除。
查找模块303,适于根据至少一个测试对象和至少一个测试动作,在对象库内查找与每个测试对象匹配的对象代码,在动作库内查找与每个测试动作匹配的动作代码。
例如,提取模块302提取出了两个测试对象和两个测试动作,其中,两个测试对象分别为第一按钮和第一文件,两个测试动作分别为单击和删除。然后查找模块303需要在对象库内查找分别与第一按钮和第一文件相匹配的对象代码,并在动作库内查找分别与单击和删除相匹配的动作代码。
组合模块304,适于按照描述性语言中描述的执行顺序,将对象代码和动作代码组合为可执行代码。
假设接收模块301接收的描述性语言为“第一步,单击第一按钮;第二步,删除第一文件”,组合模块304可按照描述性语言中描述的执行顺序,即“第一步”与“第二步”,先将与第一按钮相匹配的对象代码和与单击相匹配的动作代码进行组合,再将与第一文件相匹配的对象代码和与删除相匹配的动作代码进行组合,得到可执行代码。
执行模块305,适于执行可执行代码,得到执行结果。
执行模块305执行经组合模块304组合得到的可执行代码,获得对应的执行结果。
对比分析模块306,适于将执行结果与期望结果进行对比分析,得到测试结果。
对比分析模块306将执行结果与期望结果进行对比,分析两者之间的差异,得到软件的测试结果。用户可根据对比分析模块306得到的测试结果判断出该软件是否已达到了期望结果,如果经判断得到该软件还没有达到期望结果,则还需对软件进行改进与优化。
根据本实施例提供的软件自动测试装置,通过提取模块从用于测试软件的描述性语言中提取至少一个测试对象和至少一个测试动作,并通过查找模块分别在对象库和动作库中查找每个测试对象所匹配的对象代码和每个测试动作所匹配的动作代码,然后通过组合模块组合得到可执行代码,对比分析模块将执行模块的执行结果与期望结果进行对比分析获取测试结果。本发明提供的技术方案使用户无需编写可执行代码,直接根据描述性语言就可自动获取与该描述性语言相对应的可执行代码,进而快捷方便地完成了软件的自动测试,减少了人力成本和时间成本,降低了可执行代码的编写错误率。
图4示出了根据本发明另一个实施例的软件自动测试装置的功能结构示意图,如图4所示,该装置包括:接收模块401、判断模块402、提取模块403、创建模块404、查找模块405、第一配置模块406、第二配置模块407、组合模块408、执行模块409、分解模块410和对比分析模块411。
接收模块401,适于接收用于测试软件的描述性语言。
判断模块402,适于判断对象库和动作库是否存在。
当不确定对象库和动作库是否存在时,需要对对象库和动作库是否存在进行判断。若判断模块402判断得到对象库和动作库均存在,则触发提取模块403;若判断模块402判断得到对象库和/或动作库不存在,则触发创建模块404。
提取模块403,适于从描述性语言中提取至少一个测试对象和至少一个测试动作。
在对象库和动作库均存在的情况下,提取模块403从描述性语言中提取至少一个测试对象和至少一个测试动作。
例如,接收模块401接收的描述性语言为“第一步,单击第一按钮;第二步,删除第一文件”,提取模块403可从该描述性语言中提取出测试对象和测试动作,其中提取出的测试对象分别为第一按钮和第一文件,提取出的测试动作分别为单击和删除。
创建模块404,适于创建对象库和/或动作库。
在创建模块404完成对象库和/或动作库的创建之后,触发提取模块403。
查找模块405,适于根据至少一个测试对象和至少一个测试动作,在对象库内查找与每个测试对象匹配的对象代码,在动作库内查找与每个测试动作匹配的动作代码。
若查找模块405在对象库内未查找到任一测试对象匹配的对象代码,则触发第一配置模块406;若查找模块405在动作库内未查找到任一测试动作匹配的动作代码,则触发第二配置模块407。
例如,提取模块403提取得到了两个测试对象和两个测试动作,其中,两个测试对象分别为第一按钮和第一文件,两个测试动作分别为单击和删除。然后查找模块405需要在对象库内查找分别与第一按钮和第一文件相匹配的对象代码,并在动作库内查找分别与单击和删除相匹配的动作代码。
第一配置模块406,适于为测试对象配置对象代码并加入到对象库中。
如果查找模块405在对象库内查找到与第一按钮相匹配的对象代码,但没有查找到与第一文件相匹配的对象代码,则需要第一配置模块406为第一文件配置对象代码并加入到对象库中。
第二配置模块407,适于为测试动作配置动作代码并加入到动作库中。
如果查找模块405在动作库内都未查找到与单击和删除相匹配的动作代码,则需要第二配置模块407为单击和删除分别配置动作代码并加入到动作库中。
组合模块408,适于按照描述性语言中描述的执行顺序,将对象代码和动作代码组合为可执行代码。
假设描述性语言为“第一步,单击第一按钮;第二步,删除第一文件”,组合模块408可按照描述性语言中描述的执行顺序,即“第一步”与“第二步”,先将与第一按钮相匹配的对象代码和与单击相匹配的动作代码进行组合,再将与第一文件相匹配的对象代码和与删除相匹配的动作代码进行组合,得到可执行代码。
执行模块409,适于执行组合模块组合得到的可执行代码,得到执行结果。
执行模块409执行组合模块408组合得到的可执行代码,获得对应的执行结果。
分解模块410,适于按照资源类型,将执行模块409得到的执行结果进行分解。
为了能够更好地与期望结果进行对比,分解模块410可将执行结果按照资源类型进行分解,其中资源类型可包含以下类型的一种或多种:图像资源、进程资源以及文件资源。
对比分析模块411进一步适于:将分解的不同资源类型的执行结果分别与对应的资源类型的期望结果进行对比分析,得到测试结果。
例如执行结果是按照图像资源与文件资源进行分解的,对比分析模块411将图像资源部分的执行结果与图像资源部分的期望结果进行对比,将文件资源部分的执行结果与文件资源部分的期望结果进行对比,分析它们之间的差异,得到软件的测试结果,从而使用户可直接清晰地得到不同资源类型的测试结果,以便对软件进行改进及优化。
另外,本发明提供的软件自动测试装置还可以设置执行可执行代码的次数,使可执行代码自动重复执行。因为有时执行一次可执行代码并不能够完全测试出软件所存在的漏洞与缺陷,有些漏洞是在多次执行之中偶然出现的,或者有些具体的环境也要求重复执行可执行代码,因此为了应对上述情况,本发明提供的技术方案能够根据用户的需求自动重复执行可执行代码。
根据本实施例提供的软件自动测试装置,通过提取模块从描述性语言中提取至少一个测试对象和至少一个测试动作,并通过查找模块分别在对象库和动作库中查找每个测试对象所匹配的对象代码和每个测试动作所匹配的动作代码,然后通过组合模块组合得到可执行代码,对比分析模块按照资源类型对比分析执行结果与期望结果,从而得到测试结果。本发明提供的技术方案不仅使用户可直接根据描述性语言自动获取与该描述性语言相对应的可执行代码,快捷方便地完成了软件的自动测试,减少了人力成本和时间成本,降低了可执行代码的编写错误率,而且还可使用户直接清晰地得到不同资源类型的测试结果,以便对软件进行改进及优化。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:
A1、一种软件自动测试方法,包括:
接收用于测试软件的描述性语言;
从所述描述性语言中提取至少一个测试对象和至少一个测试动作;
根据所述至少一个测试对象和至少一个测试动作,在对象库内查找与每个测试对象匹配的对象代码,在动作库内查找与每个测试动作匹配的动作代码;
按照所述描述性语言中描述的执行顺序,将所述对象代码和动作代码组合为可执行代码;
执行所述可执行代码,得到执行结果;
将所述执行结果与期望结果进行对比分析,得到测试结果。
A2、根据A1所述的方法,其中,在所述接收用于测试软件的描述性语言之后,所述方法还包括:判断所述对象库和所述动作库是否存在;
若所述对象库和所述动作库均存在,则从所述描述性语言中提取至少一个测试对象和至少一个测试动作;
若所述对象库和/或所述动作库不存在,则创建所述对象库和/或所述动作库。
A3、根据A2所述的方法,其中,所述方法还包括:
若在所述对象库内未查找到任一测试对象匹配的对象代码,为该测试对象配置对象代码并加入到所述对象库中;
若在所述动作库内未查找到任一测试动作匹配的动作代码,为该测试动作配置动作代码并加入到所述动作库中。
A4、根据A1-A3任一项所述的方法,其中,在所述得到执行结果之后,所述方法还包括:按照资源类型,将所述执行结果进行分解;
所述将执行结果与期望结果进行对比分析,得到测试结果进一步为:将分解的不同资源类型的执行结果分别与对应的资源类型的期望结果进行对比分析,得到测试结果。
A5、根据A4所述的方法,其中,所述资源类型包含以下类型的一种或多种:图像资源、进程资源以及文件资源。
A6、根据A1-A5任一项所述的方法,其中,所述测试对象包括以下对象中的一个或多个:文件、进程、窗口、注册表以及服务。
A7、根据A6所述的方法,其中,所述窗口包括以下窗口中的一个或多个:按钮、图标、超级链接以及输入框。
A8、根据A1-A7任一项所述的方法,其中,所述测试动作包括以下动作中的一个或多个:新建、删除、写、移动、修改、关闭、传递、拖动、双击、单击、右键双击、右键单击、右键拖动、输入、增加、启动以及暂停。
A9、根据A1-A8任一项所述的方法,其中,所述对象库内存储有测试对象关键字与对象代码的映射关系,所述动作库内存储有测试动作关键字与动作代码的映射关系。
B10、一种软件自动测试装置,包括:
接收模块,适于接收用于测试软件的描述性语言;
提取模块,适于从所述描述性语言中提取至少一个测试对象和至少一个测试动作;
查找模块,适于根据所述至少一个测试对象和至少一个测试动作,在对象库内查找与每个测试对象匹配的对象代码,在动作库内查找与每个测试动作匹配的动作代码;
组合模块,适于按照所述描述性语言中描述的执行顺序,将所述对象代码和动作代码组合为可执行代码;
执行模块,适于执行所述组合模块组合得到的所述可执行代码,得到执行结果;
对比分析模块,适于将所述执行结果与期望结果进行对比分析,得到测试结果。
B11、根据B10所述的装置,所述装置还包括:判断模块和创建模块;
所述判断模块,适于判断所述对象库和所述动作库是否存在;若所述判断模块判断得到所述对象库和所述动作库均存在,则触发所述提取模块;若所述判断模块判断得到所述对象库和/或所述动作库不存在,则触发所述创建模块,其中,所述创建模块适于创建所述对象库和/或所述动作库。
B12、根据B11所述的装置,所述装置还包括:第一配置模块和第二配置模块;
若所述查找模块在所述对象库内未查找到任一测试对象匹配的对象代码,则触发第一配置模块;若所述查找模块在所述动作库内未查找到任一测试动作匹配的动作代码,则触发第二配置模块;
其中,所述第一配置模块,适于为测试对象配置对象代码并加入到所述对象库中;所述第二配置模块,适于为测试动作配置动作代码并加入到所述动作库中。
B13、根据B10-B12任一项所述的装置,所述装置还包括:分解模块,适于按照资源类型,将所述执行模块得到的所述执行结果进行分解;
所述对比分析模块进一步适于:将分解的不同资源类型的执行结果分别与对应的资源类型的期望结果进行对比分析,得到测试结果。
B14、根据B13所述的装置,其中,所述资源类型包含以下类型的一种或多种:图像资源、进程资源以及文件资源。
B15、根据B10-B14任一项所述的装置,其中,所述测试对象包括以下对象中的一个或多个:文件、进程、窗口、注册表以及服务。
B16、根据B15所述的装置,其中,所述窗口包括以下窗口中的一个或多个:按钮、图标、超级链接以及输入框。
B17、根据B10-B16任一项所述的装置,其中,所述测试动作包括以下动作中的一个或多个:新建、删除、写、移动、修改、关闭、传递、拖动、双击、单击、右键双击、右键单击、右键拖动、输入、增加、启动以及暂停。
B18、根据B10-B17任一项所述的装置,其中,所述对象库内存储有测试对象关键字与对象代码的映射关系,所述动作库内存储有测试动作关键字与动作代码的映射关系。