输入法中非激活窗口的测试方法、装置和测试终端的制作方法
【专利摘要】本发明提出一种输入法中非激活窗口的测试方法、装置和测试终端,其中所述方法包括以下步骤:测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口,并获取非激活窗口的标识信息;测试终端根据非激活窗口获取多个第二测试词;测试终端分别将每个第二测试词输入至输入法程序,并获取根据每个第二测试词生成的多个窗口及每个窗口的窗口信息;以及测试终端分别将多个窗口的窗口信息与非激活窗口的标识信息进行比对以获取测试结果。根据本发明实施例的方法,可以自动化测试输入法中的非激活窗口是否能够被所有的第二测试词成功激活,节约人力成本,同时代替人工测试大幅度减少了测试时间,明显提高了测试效率。
【专利说明】输入法中非激活窗口的测试方法、装置和测试终端
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别涉及一种输入法中非激活窗口的测试方法、装置和测试终端。
【背景技术】
[0002]用户使用输入法程序输入时,用户输入的字符串对应的候选词可能有多行的内容(例如用文字组成的图案)而不能直接在输入法程序的候选框中显示给用户,而是需要另外打开一个新的窗口,在新的窗口中显示多行的内容给用户查看或者选择,这些窗口可称为非激活窗口。例如,用户在输入法程序中输入某些特定的字符串时,候选框中会有一个候选词作为打开新的窗口的入口,用户选中这个候选词时,输入法程序会打开新的窗口。
[0003]目前,为了保证所有能够激活新窗口的字符串都能正确的激活新的窗口,测试人员可以使用人工的方法对能够激活新窗口的字符串进行测试,存在的问题是,测试人员使用人工的方法进行测试时,由于能够激活新窗口的字符串数量很多,需要大量的人力成本,并且测试效率很低。
【发明内容】
[0004]本发明旨在至少解决上述技术问题之一。
[0005]为此,本发明的第一个目的在于提出一种输入法中非激活窗口的测试方法,该方法可以自动化测试输入法中的非激活窗口是否被特定的按键序列成功激活,大幅度减少了测试时间,明显提高了测试效率。
[0006]本发明的第二个目的在于提出一种输入法中非激活窗口的测试装置。
[0007]本发明第三个目的在于提出一种测试终端。
[0008]为了实现上述目的,本发明第一方面的实施例公开了一种输入法中非激活窗口的测试方法,包括以下步骤:a、测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口,并获取所述非激活窗口的标识信息山、所述测试终端根据所述非激活窗口获取多个第二测试词;c、所述测试终端分别将每个所述第二测试词输入至所述输入法程序,并获取所述输入法程序根据每个所述第二测试词生成的多个窗口及每个所述窗口的窗口信息;以及d、所述测试终端分别将所述多个窗口的窗口信息与所述非激活窗口的标识信息进行比对以获取测试结果。
[0009]根据本发明实施例的输入法中非激活窗口的测试方法,测试终端在激活一个新的窗口之后判断当前所有被激活窗口的窗口信息和对应的非激活窗口的标识信息进行比对以获取,可以自动化测试输入法中的非激活窗口是否能够被所有的第二测试词成功激活,节约人力成本,同时自动化测试代替人工测试大幅度减少了测试时间,明显提高了测试效率。
[0010]为了实现上述目的,本发明第二方面的实施例的公开了一种输入法中非激活窗口的测试装置,包括:第一输入模块,用于测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口,并获取所述非激活窗口的标识信息;获取模块,用于所述测试终端根据所述非激活窗口获取多个第二测试词;第二输入模块,用于所述测试终端分别将每个所述第二测试词输入至所述输入法程序,并获取所述输入法程序根据每个所述第二测试词生成的多个窗口及每个所述窗口的窗口信息;以及比对模块,用于所述测试终端分别将所述多个窗口的窗口信息与所述非激活窗口的标识信息进行比对以获取测试结果。
[0011]根据本发明实施例的输入法中非激活窗口的测试装置,测试终端在激活一个新的窗口之后判断当前所有被激活窗口的窗口信息和对应的非激活窗口的标识信息进行比对以获取,可以自动化测试输入法中的非激活窗口是否能够被所有的第二测试词成功激活,节约人力成本,同时自动化测试代替人工测试大幅度减少了测试时间,明显提高了测试效率。
[0012]为了实现上述目的,本发明第三方面实施例的测试终端包括本发明第二方面实施例的输入法中非激活窗口的测试装置。
[0013]根据本发明实施例的测试终端,通过输入法中非激活窗口的测试装置,在激活一个新的窗口之后判断当前所有被激活窗口的窗口信息和对应的非激活窗口的标识信息进行比对以获取,可以自动化测试输入法中的非激活窗口是否能够被所有的第二测试词成功激活,节约人力成本,同时自动化测试代替人工测试大幅度减少了测试时间,明显提高了测试效率。
[0014]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】
【附图说明】
[0015]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
[0016]图1是根据本发明一个实施例的输入法中非激活窗口的测试方法的流程图;
[0017]图2是根据本发明一个具体实施例的输入法中非激活窗口的测试方法的流程图;
[0018]图3是根据本发明另一个具体实施例的输入法中非激活窗口的测试方法的流程图;
[0019]图4是根据本发明一个实施例的输入法中非激活窗口的测试装置的结构示意图;
[0020]图5是根据本发明一个实施例的第一输入模块100的结构示意图;以及
[0021]图6是根据本发明一个实施例的第二输入模块300的结构示意图。
【具体实施方式】
[0022]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0023]在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0024]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0025]下面参考附图描述根据本发明实施例的输入法中非激活窗口的测试方法、装置和测试终端。
[0026]目前,测试人员在使用自动化的方法测试输入法程序中非激活窗口时,由于非激活窗口的状态总被设置成非激活的,测试终端不能通过在激活一个新的窗口后通过判断当前被激活的新的窗口的标题来判断对应的非激活窗口是否存在,从而导致自动化的测试方法存在很大困难。为此,本发明提出一种输入法中非激活窗口的测试方法,包括以下步骤:
a、测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口,并获取非激活窗口的标识信息山、测试终端根据非激活窗口获取多个第二测试词;c、测试终端分别将每个第二测试词输入至输入法程序,并获取输入法程序根据每个第二测试词生成的多个窗口及每个窗口的窗口信息;以及d、测试终端分别将多个窗口的窗口信息与非激活窗口的标识信息进行比对以获取测试结果。
[0027]图1是根据本发明一个实施例的输入法中非激活窗口的测试方法的流程图。
[0028]如图1所示,根据本发明实施例的输入法中非激活窗口的测试方法包括下述步骤。
[0029]步骤S101,测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口,并获取非激活窗口的标识信息。
[0030]其中,第一测试词是输入法程序中非激活窗口的其中一个读音,测试人员根据输入法的编码方式输入能够激活非激活窗口的第一测试词的英文字母或者汉语拼音等形式的字符串。
[0031]具体地,首先,测试终端接收测试人员输入的能够激活输入法中非激活窗口的第一测试词,并将第一测试词输入至输入法程序中,然后测试终端根据激活的非激活窗口获取该窗口的标识信息,其中,非激活窗口的信息包括非激活窗口的标题内容、类别内容、状态信息、和其它窗口的父子关系等,测试终端从多种非激活窗口的信息中选择出能够唯一标识出该非激活窗口的信息集合作为该非激活窗口的标识信息。
[0032]步骤S102,测试终端根据非激活窗口获取多个第二测试词。
[0033]具体地,测试终端获取全部可以激活该非激活窗口的第二测试词,并将全部的第二测试词保存到测试终端的文本文件中,例如保存到记事本中。
[0034]步骤S103,测试终端分别将每个第二测试词输入至输入法程序,并获取输入法程序根据每个第二测试词生成的多个窗口及每个窗口的窗口信息。
[0035]在本发明的一个实施例中,在测试终端中设置python语言运行环境,python语言为是一种面向对象、直译式计算机程序设计语言,可轻松地将其他语言制作的各种模块联结在一起,测试终端通过pywin32工具包调用测试终端的接口以获取每个第二测试词生成的多个窗口及每个窗口的窗口信息。具体地,测试人员可以使用python语言编写的测试脚本进行测试,并且测试人员在测试终端中安装python语言运行环境和用于python语言下的pywin32工具包,其中,python语言运行环境是使测试终端可以运行由python语言编写的脚本程序,pywin32工具包用于在python语言运行环境中测试终端可以调用windows系统的编程接口,以获取windows系统的信息,例如,当前windows系统中存在的窗口的信息。由此通过pywin32工具包可以在每个第二测试词输入之后获取windows系统中存在的所有窗口以及窗口信息。
[0036]步骤S104,测试终端分别将多个窗口的窗口信息与非激活窗口的标识信息进行比对以获取测试结果。
[0037]在本发明的一个实施例中,如果多个窗口中的其中一个对应的窗口信息与标识信息比对匹配,则测试终端确定非激活窗口在对应的第二测试词下可被激活。
[0038]具体地,测试终端将保存的多个窗口的窗口信息和非激活窗口的标识信息分别进行比对,如果所保存的多个窗口中的其中一个窗口所对应的窗口信息与标识信息比对匹配,则测试终端可以确定非激活窗口在对应的第二测试词下可被激活,即非激活窗口被成功触发,如果窗口中的全部窗口的窗口信息与标识信息均比对不匹配,则测试终端可以确定非激活窗口在对应的第二测试词下可不被激活,即非激活窗口触发失败。测试终端可以分别记录下窗口可被激活和窗口不可被激活的第二测试词并显示给测试人员。
[0039]根据本发明实施例的输入法中非激活窗口的测试方法,测试终端在激活一个新的窗口之后判断当前所有被激活窗口的窗口信息和对应的非激活窗口的标识信息进行比对以获取,可以自动化测试输入法中的非激活窗口是否能够被所有的第二测试词成功激活,节约人力成本,同时自动化测试代替人工测试大幅度减少了测试时间,明显提高了测试效率。
[0040]图2是根据本发明一个具体实施例的输入法中非激活窗口的测试方法的流程图。
[0041]如图2所示,根据本发明实施例的输入法中非激活窗口的测试方法包括下述步骤。
[0042]步骤S201,测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口。
[0043]其中,第一测试词是输入法程序中非激活窗口的其中一个读音,测试人员根据输入法的编码方式输入能够激活非激活窗口的第一测试词的英文字母或者汉语拼音等形式的字符串。具体地,测试终端接收测试人员输入的能够激活输入法中非激活窗口的第一测试词,并将第一测试词输入至输入法程序中。
[0044]步骤S202,测试终端将非激活窗口指定为预设工具中的目标窗口。
[0045]在本发明的一个实施例中,预设工具为spy++工具。其中,Spy++工具提供windows系统的进程、线程、窗口和窗口消息的图形视图,在本发明中可以使用spy++工具显示并记录指定窗口的窗口大小、标题内容、类别内容、状态信息、和其它窗口的父子关系等窗口信
肩、O
[0046]步骤S203,预设工具记录非激活窗口的窗口信息,并根据窗口信息获取非激活窗口的标识信息。[0047]具体地,测试终端将激活的非激活窗口指定为spy++工具中的目标窗口后,测试终端根据spy++工具记录的指定窗口的标题内容、类别内容、状态信息、和其它窗口的父子关系等窗口信息,并选择出能够唯一标识出该窗口的信息集合作为该非激活窗口的标识信肩、O
[0048]步骤S204,测试终端根据非激活窗口获取多个第二测试词。
[0049]具体地,测试终端获取全部的可以激活输入法中的非激活窗口的第二测试词,并将全部的第二测试词保存到测试终端的文本文件中。
[0050]步骤S205,测试终端分别将每个第二测试词输入至输入法程序,并获取输入法程序根据每个第二测试词生成的多个窗口及每个窗口的窗口信息。
[0051]在本发明的一个实施例中,在测试终端中设置python语言运行环境,测试终端通过pywin32工具包调用测试终端的接口以获取每个第二测试词生成的多个窗口及每个窗口的窗口信息。具体地,测试人员可以使用python语言编写的测试脚本进行测试,并且测试人员在测试终端中安装python语言运行环境和用于python语言下的pywin32工具包,其中,python语言运行环境是使测试终端可以运行由python语言编写的脚本程序,pywin32工具包用于在python语言运行环境中测试终端可以调用windows系统的编程接口,以获取windows系统的信息,例如,当前windows系统中存在的窗口的信息。由此通过pywin32工具包可以在每个第二测试词输入之后获取windows系统中存在的所有窗口以及窗口信息。
[0052]步骤S206,测试终端分别将多个窗口的窗口信息与非激活窗口的标识信息进行比对以获取测试结果。
[0053]在本发明的一个实施例中,如果多个窗口中的其中一个对应的窗口信息与标识信息比对匹配,则测试终端确定非激活窗口在对应的第二测试词下可被激活。
[0054]具体地,测试终端将保存的多个窗口的窗口信息和非激活窗口的标识信息分别进行比对,如果所保存的多个窗口中的其中一个窗口所对应的窗口信息与标识信息比对匹配,则测试终端可以确定非激活窗口在对应的第二测试词下可被激活,即非激活窗口被成功触发,如果窗口中的全部窗口的窗口信息与标识信息均比对不匹配,则测试终端可以确定非激活窗口在对应的第二测试词下可不被激活,即非激活窗口触发失败。测试终端可以分别记录下窗口可被激活和窗口不可被激活的第二测试词并显示给测试人员。
[0055]根据本发明实施例的输入法中非激活窗口的测试方法,测试终端通过使用spy++工具可以获取窗口信息,并根据信息获取非激活窗口的标识信息。
[0056]图3是根据本发明另一个具体实施例的输入法中非激活窗口的测试方法的流程图。
[0057]如图3所示,根据本发明实施例的输入法中非激活窗口的测试方法包括下述步骤。
[0058]步骤S301,测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口。
[0059]其中,第一测试词是输入法程序中非激活窗口的其中一个读音,测试人员根据输入法的编码方式输入能够激活非激活窗口的第一测试词的英文字母或者汉语拼音等形式的字符串。具体地,测试终端接收测试人员输入的能够激活输入法中非激活窗口的第一测试词,并将第一测试词输入至输入法程序中。[0060]步骤S302,测试终端将非激活窗口指定为预设工具中的目标窗口。
[0061 ] 在本发明的一个实施例中,预设工具为spy++工具。其中,Spy++工具提供windows系统的进程、线程、窗口和窗口消息的图形视图,在本发明中可以使用spy++工具显示并记录指定窗口的窗口大小、标题内容、类别内容、状态信息、和其它窗口的父子关系等窗口信
肩、O
[0062]步骤S303,预设工具记录非激活窗口的窗口信息,并根据窗口信息获取非激活窗口的标识信息。
[0063]具体地,测试终端将激活的非激活窗口指定为spy++工具中的目标窗口后,测试终端根据spy++工具记录的指定窗口的标题内容、类别内容、状态信息、和其它窗口的父子关系等窗口信息,并选择出能够唯一标识出该窗口的信息集合作为该非激活窗口的标识信肩、O
[0064]步骤S304,测试终端根据非激活窗口获取多个第二测试词。
[0065]具体地,测试终端获取全部的可以激活输入法中的非激活窗口的第二测试词,并将全部的第二测试词保存到测试终端的文本文件中。
[0066]步骤S305,测试终端分别根据每个第二测试词生成按键序列。
[0067]具体地,测试终端可以根据输入法编码生成第二测试词对应的按键序列,并将第二测试词的按键序列和第二测试词分别保存到测试终端的文本文件中,例如记事本。
[0068]步骤S306,测试终端将按键序列输入至输入法程序。并获取输入法程序根据每个按键序列生成的多个窗口及每个窗口的窗口信息。
[0069]在本发明的一个实施例中,在测试终端中设置python语言运行环境,测试终端通过pywin32工具包调用测试终端的接口以获取每个第二测试词生成的多个窗口及每个窗口的窗口信息。具体地,测试人员在测试终端中安装python语言运行环境和用于python语言下的pywin32工具包,其中,python语言运行环境是使测试终端可以运行由python语言编写的脚本程序,pywin32工具包用于在python语言运行环境中测试终端可以调用windows系统的编程接口,以获取windows系统的信息,例如,当前windows系统中存在的窗口的信息。
[0070]更具体地,测试终端可以使用python语言编写的测试脚本进行测试,在,开始测试时,首先测试终端在python语言运行环境中从文本文件中读取任意一个第二测试词对应的按键序列,然后调用windows系统中的编程接口发送第二测试词的按键序列以将第二测试词的按键序列输入到输入法程序中,然后测试终端等待输入法程序(例如等待10毫秒)根据第二测试词的按键序列生成多个候选词,并根据多个候选词绘制候选词列表,之后测试终端调用windows系统的编程接口获取发送候选词列表中可以进入窗口的候选词所在位置对应的数字的按键并输入至输入法程序中,并且等待激活窗口并绘制该窗口,再后测试终端根据pywin32工具包调用windows系统的编程接口获取绘制的窗口及每个窗口的窗口信息并将窗口信息保存到测试终端上。测试终端在保存窗口的窗口信息后,重复执行上述测试脚本,从文本文件中读取其他任意一个第二测试词重新进行测试,直到文本文件中全部的第二测试词均通过执行测试脚本完成测试,测试终端根据pywin32工具包调用windows系统的编程接口获取文本文件中全部的第二测试词对应绘制的窗口及每个窗口的窗口信息并将信息分别保存到测试终端上。[0071]步骤S307,测试终端分别将多个窗口的窗口信息与非激活窗口的标识信息进行比对以获取测试结果。
[0072]在本发明的一个实施例中,如果多个窗口中的其中一个对应的窗口信息与标识信息比对匹配,则测试终端确定非激活窗口在对应的第二测试词下可被激活。
[0073]具体地,测试终端将保存的多个窗口的窗口信息和非激活窗口的标识信息分别进行比对,如果所保存的多个窗口中的其中一个窗口所对应的窗口信息与标识信息比对匹配,则测试终端可以确定非激活窗口在对应的第二测试词下可被激活,即非激活窗口被成功触发,如果窗口中的全部窗口的窗口信息与标识信息均比对不匹配,则测试终端可以确定非激活窗口在对应的第二测试词下可不被激活,即非激活窗口触发失败。测试终端可以分别记录下窗口可被激活和窗口不可被激活的第二测试词并显示给测试人员。
[0074]根据本发明实施例的输入法中非激活窗口的测试方法,测试终端根据每个第二测试词生成对应的按键序列,并将按键序列输入至输入法程序中,可以使测试过程进一步实现自动化,节约了测试人员输入按键序列的时间。
[0075]为了实现上述实施例,本发明还提出一种输入法中非激活窗口的测试装置。
[0076]一种输入法中非激活窗口的测试装置,包括:第一输入模块,用于测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口,并获取非激活窗口的标识信息;获取模块,用于测试终端根据非激活窗口获取多个第二测试词;第二输入模块,用于测试终端分别将每个第二测试词输入至输入法程序,并获取输入法程序根据每个第二测试词生成的多个窗口及每个窗口的窗口信息;以及比对模块,用于测试终端分别将多个窗口的窗口信息与非激活窗口的标识信息进行比对以获取测试结果。
[0077]图4是根据本发明一个实施例的输入法中非激活窗口的测试装置的结构示意图。
[0078]如图4所示,根据本发明实施例的输入法中非激活窗口的测试装置,包括:第一输入模块100,获取模块200,第二输入模块300和比对模块400。
[0079]具体地,第一输入模块100用于测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口,并获取非激活窗口的标识信息。其中,第一测试词是输入法程序中非激活窗口的其中一个读音,测试人员根据输入法的编码方式输入能够激活非激活窗口的第一测试词的英文字母或者汉语拼音等形式的字符串。更具体地,首先,第一输入模块100接收测试人员输入的能够激活输入法中非激活窗口的第一测试词,并将第一测试词输入至输入法程序中,然后第一输入模块100根据激活的非激活窗口获取该窗口的标识信息,其中,非激活窗口的信息包括非激活窗口的标题内容、类别内容、状态信息、和其它窗口的父子关系等,第一输入模块100从多种非激活窗口的信息中选择出能够唯一标识出该非激活窗口的信息集合作为该非激活窗口的标识信息。
[0080]获取模块200用于测试终端根据非激活窗口获取多个第二测试词。更具体地,获取模块200获取全部可以激活该非激活窗口的第二测试词,并将全部的第二测试词保存到测试终端的文本文件中,例如保存到记事本中。
[0081]第二输入模块300用于测试终端分别将每个第二测试词输入至输入法程序,并获取输入法程序根据每个第二测试词生成的多个窗口及每个窗口的窗口信息。
[0082]在本发明的一个实施例中,在测试终端中设置python语言运行环境,测试终端通过pywin32工具包调用测试终端的接口以获取每个第二测试词生成的多个窗口及每个窗口的窗口信息。具体地,测试人员可以使用python语言编写的测试脚本进行测试,并且测试人员在测试终端中安装python语言运行环境和用于python语言下的pywin32工具包,其中,python语言运行环境是使测试终端可以运行由python语言编写的脚本程序,pywin32工具包用于在python语言运行环境中测试终端可以调用windows系统的编程接口,以获取windows系统的信息,例如,当前windows系统中存在的窗口的信息。由此通过pywin32工具包可以在每个第二测试词输入之后获取windows系统中存在的所有窗口以及窗口信息。
[0083]比对模块400用于测试终端分别将多个窗口的窗口信息与非激活窗口的标识信息进行比对以获取测试结果。
[0084]在本发明的一个实施例中,如果多个窗口中的其中一个对应的窗口信息与标识信息比对匹配,则测试终端确定非激活窗口在对应的第二测试词下可被激活。
[0085]更具体地,比对模块400将保存的多个窗口的窗口信息和非激活窗口的标识信息分别进行比对,如果所保存的多个窗口中的其中一个窗口所对应的窗口信息与标识信息比对匹配,则比对模块400可以确定非激活窗口在对应的第二测试词下可被激活,即非激活窗口被成功触发,如果窗口中的全部窗口的窗口信息与标识信息均比对不匹配,则比对模块400可以确定非激活窗口在对应的第二测试词下可不被激活,S卩非激活窗口触发失败。比对模块400可以分别记录下窗口可被激活和窗口不可被激活的第二测试词并显示给测试人员。
[0086]根据本发明实施例的输入法中非激活窗口的测试装置,测试终端在激活一个新的窗口之后判断当前所有被激活窗口的窗口信息和对应的非激活窗口的标识信息进行比对以获取,可以自动化测试输入法中的非激活窗口是否能够被所有的第二测试词成功激活,节约人力成本,同时自动化测试代替人工测试大幅度减少了测试时间,明显提高了测试效率。
[0087]图5是根据本发明一个实施例的第一输入模块100的结构示意图。
[0088]如图5所示,根据本发明实施例的第一输入模块100,包括:指定单元110和获取单元120。
[0089]具体地,指定单元110用于在非激活窗口被激活之后,测试终端将非激活窗口指定为预设工具中的目标窗口。
[0090]在本发明的一个实施例中,预设工具为spy++工具。其中,Spy++工具提供windows系统的进程、线程、窗口和窗口消息的图形视图,在本发明中可以使用spy++工具显示并记录指定窗口的窗口大小、标题内容、类别内容、状态信息、和其它窗口的父子关系等窗口信
肩、O
[0091]获取单元120用于预设工具记录非激活窗口的窗口信息,并根据窗口信息获取非激活窗口的标识信息。更具体地,指定单元110将激活的非激活窗口指定为spy++工具中的目标窗口后,获取单元120根据spy++工具记录的指定窗口的标题内容、类别内容、状态信息、和其它窗口的父子关系等窗口信息,并选择出能够唯一标识出该窗口的信息集合作为该非激活窗口的标识信息。
[0092]根据本发明实施例的输入法中非激活窗口的测试装置,测试终端通过使用spy++工具可以获取窗口信息,并根据信息获取非激活窗口的标识信息。[0093]图6是根据本发明一个实施例的第二输入模块300的结构示意图。
[0094]如图6所示,根据本发明实施例的第二输入模块300,包括:生成单元310和输入单元320。
[0095]具体地,生成单元310用于测试终端分别根据每个第二测试词生成按键序列。更具体地,生成单元310可以根据输入法编码生成第二测试词对应的按键序列,并将第二测试词的按键序列和第二测试词分别保存到测试终端的文本文件中,例如记事本。
[0096]输入单元320用于测试终端将按键序列输入至输入法程序。
[0097]根据本发明实施例的输入法中非激活窗口的测试装置,测试终端根据每个第二测试词生成对应的按键序列,并将按键序列输入至输入法程序中,可以使测试过程进一步实现自动化,节约了测试人员输入按键序列的时间。
[0098]在本发明的一个实施例中,在测试终端中设置python语言运行环境,测试终端通过pywin32工具包调用测试终端的接口以获取每个第二测试词生成的多个窗口及每个窗口的窗口信息。具体地,测试人员在测试终端中安装python语言运行环境和用于python语言下的pywin32工具包,其中,python语言运行环境是使测试终端可以运行由python语言编写的脚本程序,pywin32工具包用于在python语言运行环境中测试终端可以调用windows系统的编程接口,以获取windows系统的信息,例如,当前windows系统中存在的窗口的信息。具体地,测试终端可以使用python语言编写的测试脚本进行测试,在,开始测试时,首先测试终端在python语言运行环境中从文本文件中读取任意一个第二测试词对应的按键序列,然后调用windows系统中的编程接口发送第二测试词的按键序列以将第二测试词的按键序列输入到输入法程序中,然后测试终端等待输入法程序(例如)根据第二测试词的按键序列生成多个候选词,并根据多个候选词绘制候选词列表,之后测试终端调用windows系统的编程接口获取发送候选词列表中可以进入窗口的候选词所在位置对应的数字的按键并输入至输入法程序中,并且等待系统激活窗口并绘制该窗口,在后测试终端根据pywin32工具包调用windows系统的编程接口获取绘制的窗口及每个窗口的窗口信息并将窗口信息保存到测试终端上。测试终端在保存窗口的窗口信息后,重复执行上述测试脚本,从文本文件中读取其他任意一个第二测试词重新进行测试,直到文本文件中全部的第二测试词均通过执行测试脚本完成测试,测试终端根据pywin32工具包调用windows系统的编程接口获取文本文件中全部的第二测试词对应绘制的窗口及每个窗口的窗口信息并将信息分别保存到测试终端上。
[0099]为了实现上述实施例,本发明还提出一种测试终端。
[0100]一种测试终端,包括本发明任一项实施例所述的输入法中非激活窗口的测试装置。
[0101]根据本发明实施例的测试终端,在激活一个新的窗口之后判断当前所有被激活窗口的窗口信息和对应的非激活窗口的标识信息进行比对以获取,可以自动化测试输入法中的非激活窗口是否能够被所有的第二测试词成功激活,节约人力成本,同时在由自动化测试代替人工测试时大幅度减少了测试的时间,明显提高了测试工作的效率。
[0102]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0103]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0104]尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
【权利要求】
1.一种输入法中非激活窗口的测试方法,其特征在于,包括以下步骤: a、测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口,并获取所述非激活窗口的标识信息; b、所述测试终端根据所述非激活窗口获取多个第二测试词; C、所述测试终端分别将每个所述第二测试词输入至所述输入法程序,并获取所述输入法程序根据每个所述第二测试词生成的多个窗口及每个所述窗口的窗口信息;以及 d、所述测试终端分别将所述多个窗口的窗口信息与所述非激活窗口的标识信息进行比对以获取测试结果。
2.根据权利要求1所述的方法,其特征在于,所述测试终端获取所述非激活窗口的标识信息,进一步包括: 在所述非激活窗口被激活之后,所述测试终端将所述非激活窗口指定为预设工具中的目标窗口 ;以及 所述预设工具记录所述非激活窗口的窗口信息,并根据所述窗口信息获取所述非激活窗口的标识信息。
3.根据权利要求2所述的方法,其特征在于,所述预设工具为spy++工具。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述测试终端分别将每个所述第二测试词输入至所述输入法程序,进一步包括: 所述测试终端分别根据每个所述第二测试词生成按键序列;以及 所述测试终端将所述按键序列输入至所述输入法程序。
5.根据权利要求1-3任一项所述的方法,其特征在于,在所述测试终端中设置python语言运行环境,所述测试终端通过pywin32工具包调用所述测试终端的接口以获取每个所述第二测试词生成的多个窗口及每个所述窗口的窗口信息。
6.根据权利要求1-3任一项所述的方法,其特征在于,如果所述多个窗口中的其中一个对应的窗口信息与所述标识信息比对匹配,则所述测试终端确定所述非激活窗口在对应的所述第二测试词下可被激活。
7.一种输入法中非激活窗口的测试装置,其特征在于,包括: 第一输入模块,用于测试终端将第一测试词输入至输入法程序以激活对应的非激活窗口,并获取所述非激活窗口的标识信息; 获取模块,用于所述测试终端根据所述非激活窗口获取多个第二测试词; 第二输入模块,用于所述测试终端分别将每个所述第二测试词输入至所述输入法程序,并获取所述输入法程序根据每个所述第二测试词生成的多个窗口及每个所述窗口的窗口信息;以及 比对模块,用于所述测试终端分别将所述多个窗口的窗口信息与所述非激活窗口的标识信息进行比对以获取测试结果。
8.根据权利要求7所述的装置,其特征在于,所述第一输入模块包括: 指定单元,用于在所述非激活窗口被激活之后,所述测试终端将所述非激活窗口指定为预设工具中的目标窗口 ;以及 获取单元,用于所述预设工具记录所述非激活窗口的窗口信息,并根据所述窗口信息获取所述非激活窗口的标识信息。
9.根据权利要求8所述的装置,其特征在于,所述预设工具为spy++工具。
10.根据权利要求7-9任一项所述的装置,其特征在于,第二输入模块包括: 生成单元,用于所述测试终端分别根据每个所述第二测试词生成按键序列;以及 输入单元,用于所述测试终端将所述按键序列输入至所述输入法程序。
11.根据权利要求7-9任一项所述的装置,其特征在于,在所述测试终端中设置python语言运行环境,所述测试终端通过pywin32工具包调用所述测试终端的接口以获取每个所述第二测试词生成的多个窗口及每个所述窗口的窗口信息。
12.根据权利要求7-9任一项所述的装置,其特征在于,如果所述多个窗口中的其中一个对应的窗口信息与所述标识信息比对匹配,则所述测试终端确定所述非激活窗口在对应的所述第二测试词下可被激活。
13.—种测试终端,其特征在于,包括权利要求7-12任一项所述的输入法中非激活窗口的测试装置。
【文档编号】G06F11/36GK103970647SQ201310034500
【公开日】2014年8月6日 申请日期:2013年1月29日 优先权日:2013年1月29日
【发明者】陈鸿杰 申请人:百度国际科技(深圳)有限公司