CN107741900B - 一种自动测试方法 - Google Patents
一种自动测试方法 Download PDFInfo
- Publication number
- CN107741900B CN107741900B CN201610735528.2A CN201610735528A CN107741900B CN 107741900 B CN107741900 B CN 107741900B CN 201610735528 A CN201610735528 A CN 201610735528A CN 107741900 B CN107741900 B CN 107741900B
- Authority
- CN
- China
- Prior art keywords
- test
- action
- current
- control
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Abstract
本发明公开了一种自动测试方法,属于软件测试技术领域;方法包括:于动作列表中选择一个测试动作作为当前动作,并将当前动作对应的测试用例作为当前用例;将系统浏览器中的显示画面的编号,和当前动作对应的测试画面的编号进行比较,以进行定位;于被定位的显示画面中抓取匹配于当前动作的测试控件作为当前控件;根据当前动作的动作属性,依据对应的操作方法对被抓取的当前控件进行操作,随后输出对应当前动作的操作结果;将操作结果与对应当前动作的预想结果进行比较,以判断当前动作是否执行成功,将对应的比较结果保存为当前动作的测试结果。上述技术方案的有益效果是:实现测试的可视化自动进行,使得测试过程更直观更有效率。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种自动测试方法。
背景技术
传统的软件测试技术存在着人工干预的阶段,测试人员需要手动设置测试用例以及其中包括的各种测试动作,并且手动运行测试,手动比对测试结果以及根据比对结果判断测试是否成功。换言之,在现有的软件测试技术中存在过多人工干预的步骤,因此会占用大量的人工资源,延长软件测试的时间,降低测试效率。
同时,现有的软件测试技术中,其测试参数设置通常采用一些只有专业测试人员才能掌握的代码级设置来实现,因此导致测试设置比较复杂,要求测试人员具有相匹配的代码知识和技术才能对软件测试进行参数设置。
发明内容
根据现有技术中存在的上述问题,现提供一种自动测试方法的技术方案,旨在实现测试的可视化自动进行,使得测试过程更直观更有效率,简化测试的操作。
上述技术方案具体包括:
一种自动测试方法,其中,按序预设多个测试用例,每个所述测试用例对应于多个按序执行的测试动作,每个所述测试动作对应于一个测试控件,每个所述测试动作对应于一个操作方法,每个所述测试控件对应一个测试画面,每个所述测试动作对应多个预想结果;
将本次需要执行的所有所述测试用例对应的所有所述测试动作按照所述测试用例被执行的顺序排列形成一测试动作列表;
所述自动测试方法包括:
步骤S1,于所述动作列表中选择一个所述测试动作作为当前动作,并将所述当前动作对应的所述测试用例作为当前用例进行测试;
步骤S2,将测试过程中系统浏览器中的显示画面的编号,和所述当前动作对应的所述测试画面的编号进行比较,以对所述显示画面进行定位;
步骤S3,于被定位的所述显示画面中抓取匹配于所述当前动作的所述测试控件作为当前控件;
步骤S4,根据所述当前动作的动作属性,依据对应的所述操作方法对被抓取的所述当前控件进行操作,随后输出对应所述当前动作的操作结果;
步骤S5,将所述操作结果与对应所述当前动作的所述预想结果进行比较,以判断所述当前动作是否执行成功,将对应的比较结果保存为所述当前动作的测试结果。
优选的,该自动测试方法,其中,所述步骤S1中,在执行关联于所述当前用例的第一个所述测试动作时,提取对应于所述当前用例的第一个所述测试控件的所述测试画面作为开启画面,并通过关联于所述开启画面的地址打开所述开启画面,以开始对所述当前用例进行测试。
优选的,该自动测试方法,其中,所述步骤S1中,在执行关联于所述当前用例的每个所述测试动作之前,根据所述测试动作的动作属性判断是否需要打开对应于所述测试动作的所述测试控件的所述测试画面,并在需要时提取关联于所述测试画面的地址以打开所述测试画面。
优选的,该自动测试方法,其中,所述步骤S1中,当将所述测试用例确认为所述当前用例后提取所述当前用例的初始化数据,对关联于所述当前用例的数据库中的数据进行初始化操作,以开始对所述当前用例进行测试;
提取对应于所述当前用例的第一个所述测试控件的所述测试画面的地址作为所述开启画面的开启地址,并基于所述开启地址,使用关联于所述当前用例的启动参数开启所述开启画面,以对所述启动画面进行测试。
优选的,该自动测试方法,其中,所述步骤S2具体包括:
获取对应于所述当前动作的后续的所述测试动作的所述测试画面的编号,同时监控所述显示画面的编号,在所述显示画面的编号与所述测试画面的编号一致时,确认所述显示画面切换成功,以对所述显示画面进行定位。
优选的,该自动测试方法,其中,所述步骤S2具体包括:
获取对应于所述当前动作的后续的所述测试画面的编号,同时监控所述显示画面的编号,在所述显示画面的编号与所述测试画面的编号一致时,确认所述显示画面切换成功,以对所述显示画面进行定位。
优选的,该自动测试方法,其中,所述步骤S3中,抓取到所述显示画面中的一个所述测试控件后,将所述测试控件的控件属性与所述当前动作对应的所述测试控件的控件属性进行匹配并得到匹配结果,并在所述匹配结果表示匹配成功时将被抓取的所述测试控件定位为所述当前控件。
优选的,该自动测试方法,其中,所述步骤S4中,在对所述控件进行操作之前,首先判断所述当前动作的所述动作属性,并根据所述动作属性确定对所述当前控件进行操作:
若所述当前动作的所述动作属性为设值,则对所述当前控件进行的操作为给所述控件赋值;
若所述当前动作的所述动作属性为执行操作命令,则对所述当前控件进行的操作为执行所述操作命令以操作所述控件;
若所述当前动作的所述动作属性为发送文字列消息,则操作所述当前控件发送对应的所述文字列消息;
若所述当前动作的所述动作属性为内存复制,则将所述当前控件的值保存于系统内存中;
若所述当前动作的所述动作属性为内存赋值,则将所述当前控件的值更改为所述系统内存中保存的值;
若所述当前动作的所述动作属性为逻辑判断,则对保存于所述系统内存中用于表示赋值的表达式进行判断,并根据判断结果跳过关联于所述当前动作的预设的后续的所述测试动作;
若所述当前动作的所述动作属性为采用功能键组合的方式进行操作,则通过向系统的输入装置发送对应的功能键组合命令的方式操作所述当前控件。
优选的,该自动测试方法,其中,所述步骤S5中,根据所述操作结果的类型进行所述操作结果与所述预想结果之间的比较:
若所述操作结果为操作所述显示画面中包括的所述控件的结果,则系统读取所述浏览器中的所述显示画面对应的所述控件的信息,并将读取到的信息与所述预想结果进行比较;
若所述操作结果为对应于所述浏览器中的一栏数据的结果,则系统读取所述浏览器中对应的所述一栏数据,并将读取到的信息与所述预想结果进行比较;
若所述操作结果为系统的数据库中的数据,则系统读取所述数据库中的数据,并读取到的信息与所述预想结果进行比较。
优选的,该自动测试方法,其中,所述步骤S5中,判断所述当前动作是否执行成功:
若是,则保存关联于所述当前动作的所述操作结果,随后继续执行所述步骤S5;
若否,则结束所述当前用例的测试,并跳转至下一个所述测试用例,随后返回所述步骤S1。
优选的,该自动测试方法,其中,所述步骤S5中,将对应的比较结果保存为所述当前动作的测试结果后,跳转至下一个所述测试动作:
若跳转至的下一个所述测试动作表示对全局的控件进行操作,则返回所述步骤S4。
上述技术方案的有益效果是:提供一种自动测试方法,能够实现测试的可视化自动进行,使得测试过程更直观更有效率,简化测试的操作。
附图说明
图1是本发明的较佳的实施例中,一种自动测试方法的总体流程示意图;
图2-3是本发明的较佳的实施例中,预设测试用例的示意图;
图4是本发明的较佳的实施例中,预设画面的示意图;
图5是本发明的较佳的实施例中,预设测试动作的示意图;
图6是本发明的较佳的实施例中,预设控件的示意图;
图7-9是本发明的较佳的实施例中,不同的预想结果的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种自动测试方法。该自动测试方法中,首先按序预设多个测试用例,每个测试用例对应于多个按序执行的测试动作,每个测试动作仅对应于一个测试控件,同时每个测试动作对应于一个操作方法,即针对一个控件,仅存在一种操作方法。每个测试控件对应于一个测试画面。每个测试动作对应多个预想结果;
将本次需要执行的所有测试用例的所有测试动作按照测试用例被执行的顺序排列形成一测试动作列表;
则如图1所示,上述自动测试方法的步骤具体包括:
步骤S1,于动作列表中选择一个测试动作作为当前动作,并将当前动作对应的测试用例作为当前用例进行测试;
步骤S2,将测试过程中系统浏览器中的显示画面的编号,和当前动作对应的测试画面的编号进行比较,以对显示画面进行定位;
步骤S3,于被定位的显示画面中抓取匹配于当前动作的测试控件作为当前控件;
步骤S4,根据当前动作的动作属性,依据对应的操作方法对被抓取的当前控件进行操作,随后输出对应当前动作的操作结果;
步骤S5,将操作结果与对应当前动作的预想结果进行比较,以判断当前动作是否执行成功,将对应的比较结果保存为当前动作的测试结果。
在一个具体实施例中,首先预设多个测试用例,每个测试用例内包括多个测试动作,每个测试动作对应一个测试控件。每个测试控件对应一个测试画面,因此决定每个测试用例对应于多个测试画面。
具体地,上述测试用例是按序预设的,即按照一定的执行顺序预设多个测试用例,一个测试用例执行完毕后就转向执行下一个测试用例。同样地,在同一个测试用例中,不同的测试动作也按序排列,每个测试动作分别对应于一个测试控件,每个测试控件分别对应于一个测试画面。上述测试画面可以被划分为开启画面以及后续画面。对于一个测试用例来说,开启画面只有一个,后续画面可以存在多个,上述开启画面可以为测试用例执行的第一个画面,后续画面为在上述开启画面之后并且依序排列的显示画面。每个测试画面(包括开启画面和后续画面)均为操作一个测试控件所对应的画面。例如对于用户登录这个测试用例而言,其中可以包括输入用户名和密码的测试动作,以及点击登录控件的测试动作。则对应上述登录控件的测试画面可以为提供给使用者可以输入用户名和密码的登录画面,并且该画面可以作为测试用例的开启画面,上述测试用例的多个后续画面可以为登录成功后显示的系统浏览器的其他画面,或者显示登录失败的画面。上述画面依照测试逻辑排序。
上述实施例中,测试用例的设置界面如图2-3所示。该测试用例中的开启画面的名称为“账户信息”,该测试用例的名称为“进入修改账户密码界面”,该测试用例的前期关联测试用例为“进入账户信息界面”,相应地,该测试用例的前期关联测试用例还包括“登录”、“进入系统管理”和“进入账户信息界面”,上述前期关联测试用例依序排列。图2中所示的测试用例的设置界面为可视化界面,并非现有技术中代码级的设置界面,因此可以简化测试用例的设置过程。图3中示出了上述预设的测试用例列表。
上述实施例中,关联于测试用例的测试画面(包括开启画面和后续画面)的设置界面如图4所示。图4中的画面信息中包括画面序号(ID)、画面名称以及画面访问地址。所谓的访问地址是指URL(Uniform Resoure Locator,统一资源定位)地址。上述画面设置界面同样为可视化界面。
上述实施例中,测试动作的设置界面如图5所示,图5中的测试动作可以配置为“嵌入检索条件”,其中关联有多个显示画面的名称、多个控件名称、多个动作属性(方法)以及多个测试动作的赋值等。上述测试动作的设置界面同样为可视化易操作的。
上述实施例中,每个测试动作对应的操作方法可以由动作属性经过一系列计算得到,而上述动作属性可以由对应的表达式表示。
上述实施例中,将设置完成的关联于不同的测试用例的测试动作形成一个动作列表。具体地,例如按序排列分别设置有测试用例A、B和C,在测试用例A中按序排列分别设置有测试动作A1、A2和A3,在测试用例B中按序排列分别设置有测试动作B1和B2,在测试用例C中按序排列分别设置有测试动作C1、C2、C3和C4,则上述动作列表即可以为按序排列的A1、A2、A3、B1、B2、C1、C2、C3、C4。
上述实施例中,每个测试动作相关联的控件的设置界面如图6所示。在图6中,每个控件的控件信息中包括控件序号(ID)、控件标题、控件类型、控件的前端技术、控件定位用的属性名称、控件定位用的属性值、控件的最大值/最小值/最大长度/最小长度、控件的默认值、控件的正确值列表/错误值列表等。上述控件的设置画面也是可视化画面。
上述实施例中,上述测试用例、测试动作、画面以及控件等的设置均可以依照以下两种方式进行:1)由系统预先设定;2)在系统中预先设定了各测试元素,则使用者可以通过相应的可视化界面选择不同的测试元素并组合形成测试用例、测试动作、画面以及控件等设置信息。
上述实施例中所述的预想结果的设置界面在下文中会详述。
则上述实施例中,针对本次需要执行的所有测试用例,按照不同测试用例的排序,将其中包括的所有测试动作放置在一个动作列表中。
则上述步骤S1中,首先选择一个测试动作开始执行测试。具体地,针对该测试动作,可以确定相应的测试用例,并将被确定的测试用例作为当前用例开始测试。
上述实施例中,在定位好当前动作和当前用例后,监控浏览器的显示画面的切换状态,找到浏览器当前加载完成的显示画面的画面编号,并将当前动作的测试画面的编号与该显示画面的编号进行对比,即根据当前的显示画面的画面编号去与对应当前动作的测试画面进行匹配,从而将当前浏览器的显示画面定位为当前用例中对应于当前动作的一个测试画面。
上述实施例中,在定位好显示画面后,对显示画面中的显示内容进行分分析,并抓取显示画面中的所有控件的实时信息,根据显示画面中抓取的控件的相关信息与测试动作对应的控件信息(例如定位用属性)进行匹配,从而可以定位准确的控件,并记录被定位的控件的位置信息。具体地,抓取到显示画面中的一个控件后,将控件的控件属性与当前动作对应的测试控件的控件属性进行匹配并得到匹配结果,并在匹配结果表示匹配成功时将被抓取的控件定位为当前控件。例如,抓取到一个控件后,将该控件与测试动作所对应的测试控件进行比较:若不同,则表示不是当前动作的控件;若相同,则表示是当前动作的控件。随后将匹配成功的控件确认为当前控件。因此,上述定位控件的方式可以包括:首先采用测试动作所对应的测试控件定位到一个测试画面,该测试画面即为当前显示的显示画面。由于在显示画面中可能不仅仅包括一个控件,因此在该显示画面中还需要通过控件属性对比的方式定位到上述测试动作所对应的测试控件,以完成测试控件的定位。
上述实施例中,当定位到测试控件之后,可以根据当前动作的动作属性对该测试控件执行相应的操作,随后当前动作执行完毕,记录对应当前动作的操作结果。
上述实施例中,得到操作结果后,将该操作结果与当前动作对应的预想结果进行比较,以判断当前动作是否操作成功,并记录比较结果。
在上述过程执行完毕后,判断当前动作执行完毕,随后转向下一个测试动作,并返回上述步骤S1。
综上所述,本发明技术方案中,通过可视化的操作方法,将预先设置测试用例、测试动作、测试控件、测试画面以及预想结果等测试参数的过程变得简单易懂,并且可以便捷地根据这些被设置好的测试参数自动进行可视化的软件测试,能够满足人们的软件测试需求,并且提升了软件测试的效率。
本发明的一个较佳的实施例中,在上述步骤S1中,在执行关联于当前用例的每个测试动作之前,根据测试动作的动作属性判断是否需要打开对应于测试动作的测试控件的测试画面,并在需要时提取关联于测试画面的地址以打开测试画面。具体地,上述实施例中,在执行每个测试动作之前,都需要判断下是否需要加载该测试动作对应的测试控件的测试画面:若需要,则加载相应的测试画面;若不需要,则不对画面做任何变动。上述实施例中,上述测试画面的提取和加载是通过提取对应控件的对应画面的URL地址实现的。具体地,通过提取对应控件的对应画面相关的URL地址,使用当前用例指定的启动参数,并在浏览器中打开对应的URL地址,以对当前用例进行测试。若当前指定的浏览器已被打开,则只需要通过提取画面相关的URL地址来更新浏览器中的显示画面即可。并且,上述实施例中,所谓测试动作的动作属性,其中可以包括测试动作与其前后顺序的动作之间的关联关系。系统可以通过判断测试动作与其前后动作的关系,然后判断是否需要提取相应的URL地址并打开相应的测试画面。
本发明的另一个较佳的实施例中,上述步骤S1中,在执行关联于当前用例的第一个测试动作时,提取对应于当前用例的第一个测试控件的测试画面作为开启画面,并通过关联于开启画面的地址打开开启画面,以开始对当前用例进行测试。具体地,上述实施例中,只有在执行一个测试用例中的第一个测试动作时,才加载该测试动作对应的测试控件的测试画面,以作为开启画面。具体地,在首次开始测试时,可以选择上述动作列表中的第一个测试动作并开始测试。则选择好测试动作后,将该测试动作作为当前动作,并根据当前动作定位到对应的测试用例,将该测试用例作为当前用例,随后提取该当前动作对应的测试控件对应的测试画面并开始进行测试。上述实施例中,由于首次开始测试时的测试动作为第一个测试动作,则上述被提取的画面应当也为相应的当前用例的开启画面。同样地,加载和提取开启画面的方法与上一个实施例相同,即通过提取开启画面的URL地址并使用当前用例指定的启动参数,在指定的系统浏览器中打开来实现。
本发明的较佳的实施例中,在开始执行上述每个测试用例之前,首先设定该测试用例的初始化数据,即对测试用例的数据进行初始化操作。所谓对数据进行初始化操作,其中可以包括:对数据库中相应的数据做初始化处理,以避免之前的测试数据遗留影响本次测试,又或者在数据库中添加相应的初始化数据,以形成一个测试的初始化测试环境,保证测试开始的环境的统一性等。
因此,在本发明的一个较佳的实施例中,在执行到一个新的测试动作时,首先需要判断该测试动作是否为某个测试用例的第一个测试动作:若是,则需要对测试用例先进行初始化数据的操作,随后再执行测试动作;若否,则直接执行该测试动作。
又或者,在本发明的另一个较佳的实施例中,对每个测试用例的开启画面进行标记。在测试过程中,当跳转至一个开启画面时,则对相应的测试用例进行初始化数据的操作,随后再执行开启画面对应的测试动作。
本发明的较佳的实施例中,上述步骤S1中,当将测试用例确认为当前用例后提取当前用例的初始化数据,以开始对当前用例进行测试;
提取对应于当前用例的第一个测试控件的测试画面的地址作为开启画面,随后使用当前用例指定的启动参数打开开启画面,并进行测试。
上述实施例中,所谓启动参数,是指打开上述作为开始画面的测试画面的标准网络参数。
本发明的一个较佳的实施例中,上述步骤S2具体包括:获取对应于当前动作的后续的测试动作的测试画面的编号,同时监控显示画面的编号,在显示画面的编号与测试画面的编号一致时,确认显示画面切换成功,以对显示画面进行定位。具体地,上述步骤S2中,若当前的显示画面的编号与当前动作的后续动作对应的测试画面的编号一致,则认为当前的显示画面切换成功,从而将该显示画面定位为当前动作的后续动作的测试画面。
本发明的另一个较佳的实施例中,上述步骤S2具体包括:获取对应于当前动作的后续的测试画面的编号,同时监控显示画面的编号,在显示画面的编号与测试画面的编号一致时,确认显示画面切换成功,以对显示画面进行定位。具体地,上述步骤S2中,若当前的显示画面的编号与当前动作的后续画面的编号一致,则认为当前的显示画面切换成功,从而将该显示画面定位为当前动作的后续画面。
本发明的较佳的实施例中,上述步骤S4中,在对控件进行操作之前,首先判断当前动作的动作属性,并根据动作属性确定对当前控件进行操作:
若当前动作的动作属性为设值,则对当前控件进行的操作为给控件赋值,例如对控件赋予一个预先设定的数值等。
若当前动作的动作属性为执行操作命令,则对当前控件进行的操作为执行操作命令以操作控件,例如操作命令为“点击”,则可以对当前控件执行点击控件的操作。
若当前动作的动作属性为采用功能键组合的方式进行操作,则通过向系统的输入装置发送对应的功能键组合命令的方式操作当前控件,例如功能键组合为组合输入键盘上的“Shift”按键、“Alt”按键和“Enter”按键,则系统可以向键盘发送相应的功能键组合命令,以通知键盘输出上述三个按键的组合按键指令。
若当前动作的动作属性为发送文字列消息,则操作当前控件发送对应的文字列消息,具体地可以通过浏览器发送对应的文字列消息。
若当前动作的动作属性为内存复制,则将当前控件的赋值保存于系统内存中;具体地,可以将当前控件的赋值或者其他特定值保存到系统内存中,即实现系统内存的“剪贴板”功能。
若当前动作的动作属性为内存赋值,则可以根据当前动作的动作属性,将系统内存中已经保存的值赋到当前控件中。
若当前动作的动作属性为逻辑判断,则可以对内存中保存的值进行判断,并根据判断结果跳过预设的后续的测试动作。具体地,所谓逻辑判断,其为对系统内存中表示赋值的表达式进行判断,例如判断该表达式是否大于/小于某个预设值,或者判断系统内存中保存的值是否为true/false。而上述表示跳过动作的跳过方案可以预设在不同的测试动作的测试属性中。具体的判断过程可以为:判断上述系统内存中保存的数值的表达式,并根据判断结果确定是否需要执行上述预设的跳过方案,来跳过一个或多个后续的测试动作。上述实施例中,上述跳过方案中同样可以不包括任何一个后续动作,即无论判断结果如何,都不需要跳过任何一个后续动作。
本发明的较佳的实施例中,如上文中所述,若当前的画面发生跳转,则可以监控浏览器的显示内容,进而定位到新的画面编号,以及定位到新的测试控件。
本发明的较佳的实施例中,上述步骤S5中,根据操作结果的类型进行操作结果与预想结果之间的比较:
若操作结果为操作显示画面的控件的结果,则系统读取浏览器中的显示画面中包括的对应的控件的信息,并将读取到的信息与预想结果进行比较;具体地,在对控件的信息和预想结果进行比较时,是对一批控件进行统一比较,例如抓取当前的显示画面中的所有控件对应的信息,并分别与预想结果进行比较。
若操作结果为对应于浏览器中的一栏数据的结果,则系统读取浏览器中对应的一栏数据,并将读取到的信息与预想结果进行比较;
若操作结果为系统的数据库中的数据,则系统读取数据库中的数据,并读取到的信息与预想结果进行比较。
具体地,本发明的较佳的实施例中,上述预想结果预先设置的设置界面如图7-9所示:
图7中示出画面中控件的预想结果,其中可以包括控件的ID,控件标题,预想结果的类型以及预想结果的值。
图8中示出表格类的预想结果,其中可以包括控件ID、控件的标题,预想件数、比较件数以及表格数据等属性。
图9中示出了数据库类的预想结果,其中可以包括检索条件、排序条件、限制条数以及数据等属性。
则本发明的较佳的实施例中:
若为控件比较,则系统读取浏览器中对应控件的信息,并将读取到的信息与预想结果进行比较;
若为一栏数据的比较,则系统读取浏览器中对应的一栏数据,并将读取到的信息与预想结果进行比较;
若为数据库的比较,则系统读取指定的数据库中的数据,并将读取到的信息与预想结果进行比较。
本发明的较佳的实施例中,上述步骤S5中,判断当前动作是否执行成功:
若是,则保存关联于当前动作的操作结果,随后继续执行步骤S5;
若否,则结束当前用例的测试,并跳转至下一个测试用例,随后返回步骤S1。
具体地,本发明的较佳的实施例中:
若当前动作执行成功,则自然跳转到同一个当前用例的下一个测试动作并执行(继续执行步骤S5),同时保存执行成功的操作结果。
若当前动作执行失败,则结束当前用例的测试,并跳转至下一个测试用例执行(返回步骤S1),在动作列表中即为跳过当前用例对应的后续的测试动作,从下一个测试用例的第一个测试动作重新开始进行测试。
本发明的较佳的实施例中,在一个当前动作的操作结果完成时,可以对浏览器的显示页面(即表示操作结果的页面)进行截图保存,并且在截图中标注出当前动作对应的控件的位置(通过之前的控件定位进行标注)。
本发明的一个较佳的实施例中,上述步骤S5中,将对应的比较结果保存为当前动作的测试结果后,跳转至下一个测试动作:
若跳转至的下一个测试动作表示对全局的控件进行操作,则返回步骤S4。
本发明的一个较佳的实施例中,上述步骤S5中,将对应的比较结果保存为当前动作的测试结果后,跳转至下一个测试动作。
本发明的较佳的实施例中,上述自动测试方法可以适用于任何一个主流的软件系统中,这是因为在预设上述测试用例、测试动作、测试控件、测试画面等的数据库中预先保证了主流软件系统中需要用到的驱动方法的实现方式,从而保证了主流软件系统中的动作方法的驱动。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (11)
1.一种自动测试方法,其特征在于,按序预设多个测试用例,每个所述测试用例对应于多个按序执行的测试动作,每个所述测试动作对应于一个测试控件,每个所述测试动作对应于一个操作方法,每个所述测试控件对应一个测试画面,每个所述测试动作对应多个预想结果;
将本次需要执行的所有所述测试用例对应的所有所述测试动作按照所述测试用例被执行的顺序排列形成一测试动作列表;
所述自动测试方法包括:
步骤S1,于所述动作列表中选择一个所述测试动作作为当前动作,并将所述当前动作对应的所述测试用例作为当前用例进行测试;
步骤S2,将测试过程中系统浏览器中的显示画面的编号,和所述当前动作对应的所述测试画面的编号进行比较,以对所述显示画面进行定位;
步骤S3,于被定位的所述显示画面中抓取匹配于所述当前动作的所述测试控件作为当前控件;
步骤S4,根据所述当前动作的动作属性,依据对应的所述操作方法对被抓取的所述当前控件进行操作,随后输出对应所述当前动作的操作结果;
步骤S5,将所述操作结果与对应所述当前动作的所述预想结果进行比较,以判断所述当前动作是否执行成功,将对应的比较结果保存为所述当前动作的测试结果。
2.如权利要求1所述的自动测试方法,其特征在于,所述步骤S1中,在执行关联于所述当前用例的第一个所述测试动作时,提取对应于所述当前用例的第一个所述测试控件的所述测试画面作为开启画面,并通过关联于所述开启画面的地址打开所述开启画面,以开始对所述当前用例进行测试。
3.如权利要求1所述的自动测试方法,其特征在于,所述步骤S1中,在执行关联于所述当前用例的每个所述测试动作之前,根据所述测试动作的动作属性判断是否需要打开对应于所述测试动作的所述测试控件的所述测试画面,并在需要时提取关联于所述测试画面的地址以打开所述测试画面。
4.如权利要求2所述的自动测试方法,其特征在于,所述步骤S1中,当将所述测试用例确认为所述当前用例后提取所述当前用例的初始化数据,对关联于所述当前用例的数据库中的数据进行初始化操作,以开始对所述当前用例进行测试;
提取对应于所述当前用例的第一个所述测试控件的所述测试画面的地址作为所述开启画面的开启地址,并基于所述开启地址,使用关联于所述当前用例的启动参数开启所述开启画面,以对所述启动画面进行测试。
5.如权利要求1所述的自动测试方法,其特征在于,所述步骤S2具体包括:
获取对应于所述当前动作的后续的所述测试动作的所述测试画面的编号,同时监控所述显示画面的编号,在所述显示画面的编号与所述测试画面的编号一致时,确认所述显示画面切换成功,以对所述显示画面进行定位。
6.如权利要求1所述的自动测试方法,其特征在于,所述步骤S2具体包括:
获取对应于所述当前动作的后续的所述测试画面的编号,同时监控所述显示画面的编号,在所述显示画面的编号与所述测试画面的编号一致时,确认所述显示画面切换成功,以对所述显示画面进行定位。
7.如权利要求1所述的自动测试方法,其特征在于,所述步骤S3中,抓取到所述显示画面中的一个所述测试控件后,将所述测试控件的控件属性与所述当前动作对应的所述测试控件的控件属性进行匹配并得到匹配结果,并在所述匹配结果表示匹配成功时将被抓取的所述测试控件定位为所述当前控件。
8.如权利要求1所述的自动测试方法,其特征在于,所述步骤S4中,在对所述控件进行操作之前,首先判断所述当前动作的所述动作属性,并根据所述动作属性确定对所述当前控件进行操作:
若所述当前动作的所述动作属性为设定数值,则对所述当前控件进行的操作为给所述控件赋值;
若所述当前动作的所述动作属性为执行操作命令,则对所述当前控件进行的操作为执行所述操作命令以操作所述控件;
若所述当前动作的所述动作属性为发送文字列消息,则操作所述当前控件发送对应的所述文字列消息;
若所述当前动作的所述动作属性为内存复制,则将所述当前控件的值保存于系统内存中;
若所述当前动作的所述动作属性为内存赋值,则将所述当前控件的值更改为所述系统内存中保存的值;
若所述当前动作的所述动作属性为逻辑判断,则对保存于所述系统内存中用于表示赋值的表达式进行判断,并根据判断结果跳过关联于所述当前动作的预设的后续的所述测试动作;
若所述当前动作的所述动作属性为采用功能键组合的方式进行操作,则通过向系统的输入装置发送对应的功能键组合命令的方式操作所述当前控件。
9.如权利要求1所述的自动测试方法,其特征在于,所述步骤S5中,根据所述操作结果的类型进行所述操作结果与所述预想结果之间的比较:
若所述操作结果为操作所述显示画面中包括的所述控件的结果,则系统读取所述浏览器中的所述显示画面对应的所述控件的信息,并将读取到的信息与所述预想结果进行比较;
若所述操作结果为对应于所述浏览器中的一栏数据的结果,则系统读取所述浏览器中对应的所述一栏数据,并将读取到的信息与所述预想结果进行比较;
若所述操作结果为系统的数据库中的数据,则系统读取所述数据库中的数据,并读取到的信息与所述预想结果进行比较。
10.如权利要求1所述的自动测试方法,其特征在于,所述步骤S5中,判断所述当前动作是否执行成功:
若是,则保存关联于所述当前动作的所述操作结果,随后继续执行所述步骤S5;
若否,则结束所述当前用例的测试,并跳转至下一个所述测试用例,随后返回所述步骤S1。
11.如权利要求1所述的自动测试方法,其特征在于,所述步骤S5中,将对应的比较结果保存为所述当前动作的测试结果后,跳转至下一个所述测试动作:
若跳转至的下一个所述测试动作表示对全局的控件进行操作,则返回所述步骤S4。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610735528.2A CN107741900B (zh) | 2016-08-26 | 2016-08-26 | 一种自动测试方法 |
PCT/CN2017/098686 WO2018036528A1 (zh) | 2016-08-26 | 2017-08-23 | 一种自动测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610735528.2A CN107741900B (zh) | 2016-08-26 | 2016-08-26 | 一种自动测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107741900A CN107741900A (zh) | 2018-02-27 |
CN107741900B true CN107741900B (zh) | 2019-09-17 |
Family
ID=61234964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610735528.2A Active CN107741900B (zh) | 2016-08-26 | 2016-08-26 | 一种自动测试方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107741900B (zh) |
WO (1) | WO2018036528A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763075A (zh) * | 2018-05-21 | 2018-11-06 | 北京五八信息技术有限公司 | 一种测试方法、装置、设备及计算机可读存储介质 |
CN111605724B (zh) * | 2020-05-22 | 2022-08-12 | 成都飞机工业(集团)有限责任公司 | 一种大气数据系统仿真试验方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851667A (zh) * | 2006-02-15 | 2006-10-25 | 华为技术有限公司 | 一种图形用户界面的测试方法和系统 |
CN103502952A (zh) * | 2011-03-08 | 2014-01-08 | 惠普发展公司,有限责任合伙企业 | 创建测试用例 |
CN103617118A (zh) * | 2013-11-28 | 2014-03-05 | 北京奇虎科技有限公司 | 测试结果的统一处理方法、装置及系统 |
CN104794050A (zh) * | 2014-01-21 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326044C (zh) * | 2004-10-22 | 2007-07-11 | 中国工商银行股份有限公司 | 一种基于脚本解释工具的自动化软件测试系统 |
CN100561444C (zh) * | 2006-11-15 | 2009-11-18 | 中兴通讯股份有限公司 | 一种基于关键字驱动的自动测试方法及其测试系统 |
US20100333073A1 (en) * | 2009-06-29 | 2010-12-30 | Honeywell International Inc. | Systems and methods for automated generation of software tests based on modeling the software test domain |
US8984340B2 (en) * | 2012-01-31 | 2015-03-17 | Bank Of America Corporation | System and method for test case generation using action keywords |
-
2016
- 2016-08-26 CN CN201610735528.2A patent/CN107741900B/zh active Active
-
2017
- 2017-08-23 WO PCT/CN2017/098686 patent/WO2018036528A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851667A (zh) * | 2006-02-15 | 2006-10-25 | 华为技术有限公司 | 一种图形用户界面的测试方法和系统 |
CN103502952A (zh) * | 2011-03-08 | 2014-01-08 | 惠普发展公司,有限责任合伙企业 | 创建测试用例 |
CN103617118A (zh) * | 2013-11-28 | 2014-03-05 | 北京奇虎科技有限公司 | 测试结果的统一处理方法、装置及系统 |
CN104794050A (zh) * | 2014-01-21 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2018036528A1 (zh) | 2018-03-01 |
CN107741900A (zh) | 2018-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106326125B (zh) | 一种测试用例生成方法 | |
CN105389252B (zh) | 反馈测试问题的方法及装置 | |
CN101501637B (zh) | 模块化镜像下载系统 | |
CN106445805A (zh) | 一种可视化测试报告生成方法 | |
CN106033393B (zh) | 一种应用程序测试方法及系统以及移动终端 | |
US20110138310A1 (en) | Remote device management interface | |
WO2003005169A2 (en) | System and method for analyzing system visitor activities | |
WO2008074568A1 (en) | Method and system for graphical user interface testing | |
CN109840206A (zh) | 数据测试方法、装置、终端及存储介质 | |
CN105573236B (zh) | 信息处理装置、信息处理方法及记录介质 | |
US20090228839A1 (en) | Plant information display apparatus and method | |
CN102446109B (zh) | 利用输入法工具安装软件的方法、客户端及系统 | |
CN108780306A (zh) | 程序创建辅助装置、程序创建辅助装置的控制方法、以及程序创建辅助装置的控制程序 | |
EP3401803A1 (en) | Interaction scenario display control program and information processing apparatus | |
WO2007146851A2 (en) | Method and apparatus for executing commands and generation of automation scripts and test cases | |
CN107741900B (zh) | 一种自动测试方法 | |
CN107741950A (zh) | 数据同步任务的处理方法、装置、处理器及服务端 | |
TW200421186A (en) | Intelligent drill-down for graphical user interface | |
CN108959067A (zh) | 搜索引擎的测试方法、装置及计算机可读存储介质 | |
CN104424099B (zh) | 软件测试方法及系统 | |
CN108732362A (zh) | 分析设备管理系统 | |
CN104627385B (zh) | 一种过程可视化决策诊断系统及其推理控制方法 | |
CN109800400A (zh) | 一种生成电子试卷的方法、装置、显示设备及存储介质 | |
CN106528429A (zh) | 一种ui界面测试方法及装置 | |
EP1582949B1 (en) | Method for automatic modeling a process control system and corresponding process control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |