CN108399125B - 自动化测试方法、装置、计算机设备和存储介质 - Google Patents
自动化测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108399125B CN108399125B CN201810129540.8A CN201810129540A CN108399125B CN 108399125 B CN108399125 B CN 108399125B CN 201810129540 A CN201810129540 A CN 201810129540A CN 108399125 B CN108399125 B CN 108399125B
- Authority
- CN
- China
- Prior art keywords
- tested
- current
- document
- test
- event
- 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
Images
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
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种自动化测试方法、装置、计算机设备和存储介质。方法包括:获取待测软件的当前交互文档与当前样式文档;从当前交互文档中查找待测软件的首页文件,并根据首页文件查找待测事件逻辑;从当前样式文档中获取与待测事件逻辑对应的待测详细数据;根据待测详细数据生成对应的测试文档;将测试文档发送至待测终端进行测试,并接收待测终端返回的测试日志;根据测试日志生成测试报告。采用本方法能够整体实现自动化测试,提高测试效率。
Description
技术领域
本申请涉及计算机测试技术领域,特别是涉及一种自动化测试方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,越来越多的行业都需要使用计算机,软件开发更新换代的速度越来越快,而对计算机进行软件测是软件投入使用之前或者是在迭代更新过程中非常重要的流程。
传统地,需要人工对开发出的软件进行大量的测试,但是软件在开发时,会不停地进行版本的更新,因此人工进行测试会产生大量的工作量,而目前的自动化测试也是需要人工进行操作生成测试用例,导致测试效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高测试效率的自动化测试方法、装置、计算机设备和存储介质。
一种自动化测试方法,所述方法包括:
获取待测软件的当前交互文档与当前样式文档;
从所述当前交互文档中查找所述待测软件的首页文件,并根据所述首页文件查找待测事件逻辑;
从所述当前样式文档中获取与所述待测事件逻辑对应的待测详细数据;
根据所述待测详细数据生成对应的测试文档;
将所述测试文档发送至待测终端进行测试,并接收所述待测终端返回的测试日志;
根据所述测试日志生成测试报告。
在其中一个实施例中,所述从所述当前交互文档中查找所述待测软件的首页文件,并根据所述首页文件查找待测事件逻辑的步骤,包括:
查找所述当前交互文档中的所述待测软件的首页文件,并从所述首页文件中获取当前第一待测事件类型;
获取与所述当前第一待测事件类型对应的第一操作数据;
根据所述第一操作数据从所述当前交互文档中获取当前待测页面,并从所述当前交互文档中获取所述当前待测页面的第二待测事件类型;
获取与所述第二待测事件类型对应的第二操作数据;
根据所述第二操作数据从所述当前交互文档中获取下一待测页面作为当前待测页面,并继续所述从所述当前交互文档中获取所述当前待测页面的第二待测事件类型的步骤,直至所述当前交互文档中不存在与所述当前测试页面对应的第二待测事件类型;
从所述首页文件中获取所述当前第一待测事件类型的下一第一待测试事件类型作为所述当前第一待测事件类型,继续执行获取与所述当前第一待测事件类型对应的第一操作数据,直至遍历完所述首页文件中的第一待测事件类型;
将所得到的所述第一待测事件类型、所述第一操作数据、所述第二测事件类型和所述第二操作数据作为待测事件逻辑。
在其中一个实施例中,所述从所述当前样式文档中获取与所述待测事件逻辑对应的待测详细数据的步骤,包括:
从样式文档中获取与所述当前第一待测事件类型对应的所述当前第一事件控件;
读取与所述当前第一事件控件在首页页面对应的第一坐标;
根据所述第一操作数据,从所述当前样式文档中获取到与所述第一坐标对应的当前待测页面;
获取与所述第二待测事件类型对应的第二事件控件,读取所述第二事件控件在所述当前待测页面的第二坐标;根据所述第二操作数据从所述当前样式文档中获取与所述第二坐标对应的下一待测页面作为当前待测页面,继续获取与所述第二待测事件类型对应的第二事件控件的步骤,直至所述当前样式文档中不存在与所述第二待测试类型对应的所述第二事件控件;
从所述视觉文档中获取与所述下一第一待测事件类型对应的下一第一事件控件,作为当前第一事件控件,继续读取与所述当前第一事件控件在首页页面对应的第一坐标的步骤,直至遍历完所述当前样式文档中的第一事件控件;
将所得到的所述第一事件控件、所述第一坐标、所述第二事件控件以及所述第二坐标作为待测详细数据。
在其中一个实施例中,所述将所述测试文档发送至所述待测终端进行测试的步骤,包括:
读取所述测试文档中的当前待测详细数据,根据所述当前待测详细数据生成相应的当前测试指令;
将所述当前测试指令发送至待测终端,当所述待测终端返回与所述当前测试指令对应的响应指令时,则标记当前待测详细数据测试完成,并获取所述测试文档中下一待测详细数据;
根据所述下一待测详细数据更新所述当前测试指令,继续执行将所述当前测试指令发送至待测终端的步骤,直至所述待测试数据都标记为完成。
在其中一个实施例中,根据所述测试日志生成测试报告的步骤,包括:
根据所述测试日志中包含的测试结果数据,检测所述测试结果数据的关键字;
当所述关键字为预设类别关键字时,则提取所述测试结果数据;
根据所述测试结果数据生成测试报告。
在其中一个实施例中,根据所述测试日志生成测试报告的步骤之后,包括:
当所述测试报告中的漏洞结果的检测值大于预设值时,则获取生成所述测试文档的所述交互文档与所述样式文档;
将所述当前交互文档的版本与生成所述测试文档的所述交互文档的版本进行比对,将所述当前样式文档的版本与生成所述测试文档的所述样式文档的版本进行比对;
当所述当前交互文档的版本与生成所述测试文档的所述交互文档的版本、以及所述当前样式文档的版本与生成所述测试文档的所述样式文档的版本均不匹配,则继续执行获取所述当前交互文档与所述当前样式文档的步骤。
一种自动化测试装置,所述装置包括:
获取模块,用于获取待测软件的当前交互文档与当前样式文档;
待测事件逻辑查找模块,用于从所述当前交互文档中查找所述待测软件的首页文件,并根据所述首页文件查找待测事件逻辑;
待测详细数据获取模块,用于从所述当前样式文档中获取与所述待测事件逻辑对应的待测详细数据;
测试文档生成模块,用于根据所述待测详细数据生成对应的测试文档;
测试日志接收模块,用于将所述测试文档发送至待测终端进行测试,并接收所述待测终端返回的测试日志;
测试报告生成模块,用于根据所述测试日志生成测试报告。
在其中一个实施例中,所述待测事件逻辑查找模块,包括:
第一待测事件类型获取单元,用于查找所述当前交互文档中的所述待测软件的首页文件,并从所述首页文件中获取当前第一待测事件类型;
第一操作数据获取单元,用于获取与所述当前第一待测事件类型对应的第一操作数据;
第二待测事件类型获取单元,用于根据所述第一操作数据从所述当前交互文档中获取当前待测页面,并从所述当前交互文档中获取所述当前待测页面的第二待测事件类型;
第一操作数据获取单元,用于获取与所述第二待测事件类型对应的第二操作数据;
第一循环单元,用于根据所述第二操作数据从所述当前交互文档中获取下一待测页面作为当前待测页面,并继续所述从所述当前交互文档中获取所述当前待测页面的第二待测事件类型的步骤,直至所述当前交互文档中不存在与所述当前测试页面对应的第二待测事件类型;
第二循环单元,用于从所述首页文件中获取所述当前第一待测事件类型的下一第一待测试事件类型作为所述当前第一待测事件类型,继续执行获取与所述当前第一待测事件类型对应的第一操作数据,直至遍历完所述首页文件中的第一待测事件类型;
待测事件逻辑获取单元,用于将所得到的所述第一待测事件类型、所述第一操作数据、所述第二测事件类型和所述第二操作数据作为待测事件逻辑。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述自动化测试方法、装置、计算机设备和存储介质,获取待测软件的当前交互文档与当前样式文档,从交互文档中获取待测事件逻辑,进而根据待测事件逻辑从样式文档中获取待测事件逻辑对应的待测详细数据,进而可以生成对应的测试文档,可以自动生成测试文档,无需人工参与生成测试用例,进而将测试文档发送至待测终端进行测试并接收待测终端得到的测试日志,根据测试日志即可生成测试报告,可接收测试结果并可自动生成测试报告,无需人工分析,则整体实现自动化测试,提高测试效率。
附图说明
图1为一个实施例中自动化测试方法的应用场景图;
图2为一个实施例中自动化测试方法的流程示意图;
图3为一个实施例中自动化测试装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的自动化测试方法,可以应用于如图1所示的应用环境中。其中,测试平台102通过网络与待测终端服务器104通过网络进行通信。测试平台102从待测终端服务器104获取待测软件的当前交互文档与当前样式文档,从当前交互文档中查找待测试的首页文件,并从首页文件中查找待测事件逻辑,进而测试平台102从当前样式文档中获取与待测事件逻辑对应的待测详细数据,根据待测详细数据生成对应的测试文档,再将测试文档发送至待测终端106进行测试,并接收待测终端106返回的测试日志,根据测试日志生成测试报告。其中,测试平台102可以用独立的服务器或者是多个服务器组成的服务器集群来实现,待测终端服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,待测终端106可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑,且待测终端106上可以安装有相应的待测软件等。需要说明的是,本领域技术人员应当理解,测试平台102与待测终端106可以集成为同一台计算机设备,也即该计算机设备可以生成相应的测试文档,进而根据该测试文档对安装在计算机设备上相应的待测软件进行测试,从而得到测试日志,进而生成测试报告。
在一个实施例中,如图2所示,提供了一种自动化测试方法,以该方法应用于图1中的测试平台为例进行说明,包括以下步骤:
S202:获取待测软件的当前交互文档与当前样式文档。
具体地,待测软件是指安装在待测终端上的软件,待测软件上可以包含不同的待测页面等,待测软件可以是电脑软件,也可以是智能手机上安装的手机应用等。当前交互文档是指承载待测软件的交互说明或参考文档,交互文档可以存储有相应的交互数据,可以是文字数据、图片数据等,例如,交互文档中存储有相应的待测软件的不同待测页面名称、待测页面上包含的待测事件、事件描述文字以及操作动作等。当前样式文档是指存储有相应的待测软件中具体信息数据的文档,当前样式文档中可以存储有文字信息数据、图片信息数据与数字信息数据等,且样式文档中可以存储有与待测软件的交互文档中对应的不同待测页面上不同待测事件的具体样式信息数据、准确位置信息数据等的文档。具体地,测试平台从待测终端服务器获取到预存在待测终端服务器的当前交互文档与当前样式文档。
S204:从当前交互文档中查找待测软件的首页文件,并根据首页文件查找待测事件逻辑。
具体地,首页文件是指包含进入待测试软件时主页面的所有信息数据的文档,首页文件可以是包含主页面的文字数据、图片数据等,例如,首页文件中存储有主页面的名称、主页面上相应的待测事件以及主页面的相应操作动作等。待测事件逻辑是指待测软件中包含的根据不同信息数据进行顺序操作得到相应的反馈结果的对应的所有信息数据的顺序组合,可以是,包含根据具体的待测页面的待测事件进行操作得到相应的下一待测页面,从而将待测事件、根据待测页面上的待测事件进行的操作,根据对应的操作得到的下一待测页面顺序组合为待测事件逻辑。具体地,测试平台从当前交互文档中查询到首页文件,进而从首页文件中查询首页文件对应的信息数据,根据信息数据,获取到当前交互文档中的与信息数据对应的下一页面文件,再获取下一页面文件中对应的信息数据,直至遍历完交互文档中所有的页面文件,获取到页面文件以及页面信息数据的顺序组合作为待测事件逻辑。例如,测试平台从当前交互文档中查询到首页文件,进而从首页文件中查询首页文件中对应的待测事件,根据待测事件进行对应的操作得到的下一页面文件,从而从下一页面文件中获取相应的待测事件,直至遍历完交互文档中所有的页面文件,获取到页面文件、页面文件的待测事件以及根据待测事件进行的操作得到的下一页面文件的顺序组合得到待测事件逻辑。
S206:从当前样式文档中获取与待测事件逻辑对应的待测详细数据。
具体地,待测详细数据是指与待测事件逻辑对应的具体信息数据的顺序组合,待测详细数据可以是与待测事件逻辑对应的不同待测页面上不同待测事件的具体样式信息数据以及准确位置信息数据的顺序组合。进一步地,测试平台获取到的待测事件逻辑为获取到页面文件以及页面信息数据的顺序组合作为待测事件逻辑,则从样式文档中获取与待测事件逻辑对应的页面具体信息数据的顺序组合。例如,测试平台获取到页面文件、页面文件的待测事件以及根据待测事件进行的操作得到的下一页面文件的顺序组合得到待测事件逻辑,则从样式文档中获取待测事件对应的具体样式信息数据,根据待测事件进行的操作对应的准确位置信息数据,进而得到下一页面文件,直至遍历完样式文档中所有的具体信息数据,从而将获取到的页面文件待测事件对应的具体样式信息数据,根据待测事件进行的操作对应的准确位置信息数据顺序组合得到待测详细数据。
S208:根据待测详细数据生成对应的测试文档。
具体地,测试文档是指待测终端可以自动执行测试流程的文档,测试文档可以是包含脚本的文档。进一步地,测试平台获取到待测详细数据,则根据待测详细数据生成对应的测试文档。可以是,测试平台获取到待测详细数据,将待侧详细数据顺序输出,得到相应的脚本。例如,测试平台获取到的页面文件待测事件对应的具体样式信息数据,根据待测事件进行的操作对应的准确位置信息数据顺序组合的待测试详细数据,进而将以上获得的待测试详细数据进行输出,得到相应的脚本。
S210:将测试文档发送至待测终端进行测试,并接收待测终端返回的测试日志。
具体地,测试日志是指待测终端根据测试文档进行测试操作进而监控测试过程以及测试结果的文档,例如,测试日志可以包含有测试时间、测试流程、测试结果等。具体地,测试平台将生成的测试文档发送至待测终端,待测终端读取测试文档并根据测试文档执行测试操作,进而测试终端记录根据测试文档进行的操作,以及得到的测试结果生成测试日志,并将测试报告发送至测试平台,测试平台接收测试终端生成的测试日志。例如,测试平台将生成的测试文档发送至待测终端,待测终端读取测试文档中的具体的操作流程,如读取页面文件的待测事件对应的具体样式信息数据,根据待测事件进行的操作对应的准确位置信息数据从而执行测试操作,进而记录测试时间,进行的具体操作以及最后的测试通过或相应出现的漏洞进行记录生成测试日志。
S212:根据测试日志生成测试报告。
具体地,测试报告是指从测试日志中提取到的具体信息生成的报告文档,测试报告可以是包含有感兴趣的测试结果的报告文档,可以是包含重要测试结果的报告文档,例如,测试报告可以是提取具体的测试日志中包含的某个测试操作对应的测试结果的报告文档。具体地,测试平台接收到待测终端生成的测试日志,对测试日志按照预设的识别逻辑进行识别,当测试平台识别到与识别逻辑对应的测试日志中包含的数据,则将该与识别逻辑对应的测试日志中包含的数据进行提取生成测试报告。例如,测试平台接收到待测终端生成的测试日志,进而获取到识别预设测试结果的识别逻辑,则当识别到出现预设的测试结果,则将该测试结果进行提取生成相应的报告文档。
需要说明的是,识别逻辑是指预设的存储在测试平台的可对应查找相应的测试日志中的数据的规则,识别逻辑可以是查询对应的测试结果。可以是查询对应的测试操作等。
本实施例中,测试平台根据当前交互文档生成相应的待测事件逻辑,根据待测事件逻辑从样式文档中获取待测详细数据,进而可以根据待测详细数据生成对应的测试文档,无需人工参与生成相应的测试用例,进而可将测试文档发送至待测终端进行测试并接收相应的测试日志,从而可以根据测试日志得到测试报告,无需人工进行监控与分析,实现整个流程的自动化,提高测试效率。
在其中一个实施例中,从当前交互文档中查找待测软件的首页文件,并根据首页文件查找待测事件逻辑的步骤,可以包括:查找当前交互文档中的待测软件的首页文件,并从首页文件中获取当前第一待测事件类型,获取与当前第一待测事件类型对应的第一操作数据;根据第一操作数据从当前交互文档中获取当前待测页面,并从当前交互文档中获取当前待测页面的第二待测事件类型;获取与第二待测事件类型对应的第二操作数据;根据第二操作数据从当前交互文档中获取下一待测页面作为当前待测页面,并继续从当前交互文档中获取当前待测页面的第二待测事件类型的步骤,直至当前交互文档中不存在与当前测试页面对应的第二待测事件类型;从首页文件中获取当前第一待测事件类型的下一第一待测试事件类型作为当前第一待测事件类型,继续执行获取与当前第一待测事件类型对应的第一操作数据,直至遍历完首页文件中的第一待测事件类型;将所得到的第一待测事件类型、第一操作数据、第二待测事件类型和第二操作数据作为待测事件逻辑。
具体地,第一待测事件类型是指包含在主页面上用于描述具体的待测事件的类别,第一待测事件类型可以是具体待测事件的组件以及组件文字等,例如,第一待测事件为包含在主页面上的待测事件为按钮组件且按钮组件上包含的组件文字为确定。第一操作数据是包含在首页文件上第一待测事件类型对应的操作动作的相关联数据,第一操作数据可以是对第一事件类型触发的相应的操作,例如,第一操作数据可以是单击待测事件的组件,第一操作数据可以是长按待测事件的组件,第一操作数据可以是滑动待测事件的组件等。当前待测页面是指根据第一待测事件类型以及第一操作数据进行对应的操作跳转到的细节页面。第二待测事件类型是指包含在当前待测页面上用于描述具体的待测事件的类别,第二待测事件类型可以是具体待测事件的组件以及组件文字等,例如,第二待测事件为包含在当前待测页面上的待测事件为按钮组件以及组件文字等,例如,第二待测事件为包含在当前待测页面上的待测事件为按钮组件且按钮组件上包含的组件文字为确定。第二操作数据是包含在当前待测页面上第二待测事件类型对应的操作动作的相关联数据,第二操作数据可以是对第二事件类型触发的相应的操作,例如,第二操作数据可以是单击待测事件的组件,第二操作数据可以是长按待测事件的组件,第二操作数据可以是滑动待测事件的组件等。
进一步地,测试平台查找到的当前交互文档中的待测软件的首页文件,进而从首页文件中获取当前待测事件组件以及组件文字,获取与当前待测事件组件与组件文字对应的操作数据,并从当前交互文档中获取根据当前待测事件组件与组件文字对应的操作数据进行操作得到的当前待测页面,并从当前待测页面上获取到当前待测页面上的待测事件组件以及组件文字,以及当前待测页面上的待测事件组件以及组件文字对应的操作数据,再获取根据当前待测页面上的待测事件组件以及组件文字对应的操作得到的下一当前待测页面,进而重复上述步骤,直至当前交互文档中不存在与当前待测页面对应的待测事件组件以及组件文字,也即当前待测页面为软件首页文件中的当前待测事件组件以及组件文字进行顺序操作得到的最后一个页面,则再返回首页文件,从首页文件中获取到主页面上包含的下一待测事件组件以及组件文字,以及下一待测事件组件与组件文字对应的操作数据,进而获取与下一待测事件组件与事件文字对应的操作数据进行操作得到的当前待测页面,直至当前交互文档中不存在当前待测页面对应的事件组件以及组件文字,也即当前待测页面为软件首页文件中的下一待测事件组件以及组件文字进行顺操作得到的最后一个页面,进而在获取首页文件中获取到主页面上包含的再下一待测事件组件以及组件文字,直至当前交互文档中的首页文件中的待测事件组件以及组件文字都已遍历完成,进而将得到的所有的首页对应的当前待测事件组件以及组件文字、当前待测事件组件以及组件文字对应的操作数据,当前待测页面对应的待测事件组件以及组件文字,以及与当前待测页面对应的待测事件组件以及组件文字对应的操作数据顺序输出得到待测事件逻辑。
例如,从当前交互文档中查找到待测软件的首页文件,如可以读取到Index.html,进而根据该html文件,获取到当前第一待测事件类型为按钮以及按钮文字为确定,再获取与第一待测事件类型对应的操作为单击操作,进而从交互文档中获取根据单击主页面确定按钮得到的当前待测页面,也即细节页面,进而获取细节页面上当前第二待测事件类型为按钮以及按钮对应的文字为取消,再获取与第二待测事件类型对应的操作为单击操作,进而再获取根据单击当前待测页面的取消按钮得到的下一待测页面,直至交互文档中不存在与下一待测页面对应的第二待测事件类型,也即根据单击当前待测页面的取消按钮得到的下一待测页面即为根据单击主页面确定按钮得到的最后一个页面;则再从html文件中获取下一第一待测类型为按钮以及按钮文字为取消,再获取与下一第一待测事件类型对应的操作为单击操作,重复上述步骤获取到根据单击主页面上的取消按钮得到的最后一个页面,进而当html文件中所有的第一待测事件类型遍历完成,则获取到第一待测事件类型、第一待测事件类型对应操作数据、第二待测事件类型与第二待测事件类型对应的操作数据顺序输出,得到待测事件逻辑。
本实施例中,从遍历交互文档中的存储的第一事件类型、第一事件类型对应的第一操作数据、第二待测事件类型以及与第二待测事件类型对应的第二操作数据,从而得到相应的待测事件逻辑,得到的待测事件逻辑无需人工参与,实现测试的自动化。
在其中一个实施例中,从当前样式文档中获取与待测事件逻辑对应的待测详细数据的步骤,包括:从样式文档中获取与当前第一待测事件类型对应的当前第一事件控件;读取与当前第一事件控件在首页页面对应的第一坐标;根据第一操作数据,从当前样式文档中获取到与第一坐标对应的当前待测页面;获取与第二待测事件类型对应的第二事件控件,读取第二事件控件在当前待测页面的第二坐标;根据第二操作数据从当前样式文档中获取与第二坐标对应的下一待测页面作为当前待测页面,继续获取与第二待测事件类型对应的第二事件控件的步骤,直至当前样式文档中不存在与第二待测试类型对应的第二事件控件;从视觉文档中获取与下一第一待测事件类型对应的下一第一事件控件,作为当前第一事件控件,继续读取与当前第一事件控件在首页页面对应的第一坐标的步骤,直至遍历完当前样式文档中的第一事件控件;将所得到的第一事件控件、第一坐标、第二事件控件以及第二坐标作为待测详细数据。
具体地,第一事件控件是指包含在主页面上的待测事件的类别对应的具体控件,如为具体待测事件的组件以及组件文字对应的具体控件,例如,第一事件控件可以是确定按钮控件等。第一坐标是指第一事件控件在主页面上对应的坐标,从而可以表示第一事件控件在主页面上的位置。第二事件控件是指包含在当前待测页面上的待测事件的类别对应的具体控件,如为具体待测事件的组件以及组件文字对应的具体控件,例如,第二事件控件可以是确定按钮控件等。第二坐标是指第二事件控件在当前待测页面上对应的坐标,从而可以表示第一=二事件控件在当前待测页面上的位置。
进一步地,测试平台从样式平台中获取到当前第一待测事件类型包含在主页面上的确定按钮以及按钮文字为确定,进而从样式文档中获取与当前第一待测事件类型对应的确定按钮控件,进而获取确定按钮控件在首页页面上的第一坐标,也即获取到确定按钮控件在首页页面上的位置,进而根据获取到的第一操作数据为单击操作,则从样式文档中获取与首页页面上的确定按钮控件在首页页面上的第一坐标对应的当前测试页面,即细节页面,进而获取到的细节页面上的第二待测事件类型为按钮以及按钮对应的文字为取消,则获取与该第二待测事件类型对应的第二事件控件为当前页面上的取消按钮控件,进而获取到该取消按钮控件在当前待测页面上的第二坐标,也即获取到取消按按钮控件在当前待测页面上的位置,获取到的第二操作数据为单击操作,则从样式文档中获取当进过单击取消按钮控件操作后得到的与第二坐标对应的下一待测页面作为当前待测页面,直至当前样式文档中不存在与第二待测事件类型对应的第二事件控件,也即根据单击当前待测页面的取消按钮得到的下一待测页面即为根据单击主页面确定按钮得到的最后一个页面,则再从视觉文档中获取与下一第一待测事件类型也即为包含在首页上的按钮以及按钮文字为取消的取消按钮控件,进而获取该取消按钮控件在首页页面上的第一坐标,也即获取取消按钮控件在首页页面上的位置,进而根据获取到的第二操作数据为单击操作,则从样式文档中获取与首页页面上的取消按钮控件在首页页面上的第一坐标对应的当前测试页面,即细节页面,重复上述步骤获取到根据单击主页面上的取消按钮得到的最后一个页面,直至遍历完当前样式文档中的所有第一事件控件,将所得到的第一事件控件、第一坐标、第二事件控件以及第二坐标顺序输出作为待测详细数据。
本实施例中,从遍历当前样式文档中的存储的第一事件控件、第一坐标、第二时间控件以及第二坐标,、从而得到相应的待测详细数据,可直接遍历当前样式文档即可得到的待测详细数据,无需人工参与,实现测试的自动化,。
在其中一个实施例中,将测试文档发送至待测终端进行测试的步骤,可以包括:读取测试文档中的当前待测详细数据,根据当前待测详细数据生成相应的当前测试指令;将当前测试指令发送至待测终端,当待测终端返回与当前测试指令对应的响应指令时,则标记当前待测详细数据测试完成,并获取测试文档中下一待测详细数据;根据下一待测详细数据更新当前测试指令,继续执行将当前测试指令发送至待测终端的步骤,直至待测试数据都标记为完成。
具体地,当前测试指令是指与当前待测详细数据对应的指令,待测终端可以根据测试执行相应的操作。响应指令是指待测终端根据测试指令完成相应的操作的完成标识。进一步地,测试平台读取测试文档中的包含的当前待测详细数据,根据当前待测详细数据生成对应的当前测试指令,测试平台将当前测试指令发送至待测终端,待测终端读取当前测试指令,也即待测终端根据当前测试指令,检测页面根据测试指令发生的变化,进而待测终端根据测试指令完成相应的操作,则生成执行完成当前测试指令的响应指令,将响应指令发送至测试平台,当测试平台接收到返回的与当前测试指令对应的响应指令时,则标记与当前测试指令对应的当前待测详细数据测试完成,进而获取测试文档中的下一待测详细数据,根据下一待测详细数据更新当前测试指令,重复上述步骤,直至测试文档中的所有待测详细数据都标记为测试完成。
例如,当前待测详细数据为单击主页面的确定按钮控件,进而跳转至与确定按钮控件对应的下一页面,则根据当前待测详细数据生成当前测试指令,并将当前测试执行发送至待测终端,待测终端读取当前测试指令,也即待测终端单击主页面的确定按钮控件,检测到主页面跳转至下一页面,则完成相应的当前测试指令对应的操作,则生成执行完成当前测试指令的响应指令,将响应指令发送至测试平台,当测试平台接收到返回的与当前测试指令对应的响应指令时,则标记与当前测试指令对应的当前待测详细数据测试完成,进而获取测试文档中的下一待测详细数据,根据下一待测详细数据更新当前测试指令,重复上述步骤,直至测试文档中的所有待测详细数据都标记为测试完成。需要说明的是,当测试平台与待测设备集成为同一台计算机设备如智能手机时,则可以使用getevent生成测试指令,根据sendevent接收到该测试指令并执行对应的操作从而生成响应指令完成测试。
需要说明的是,当测试平台向待测终端发送有当前测试指令时,可以在当前测试指令上携带有相应的测试时间与测试次数,待测终端接收到添加了测试时间与测试次数的当前测试指令,则根据测试时间与测试次数执行与当前测试指令对应的操作。例如,测试平台向待测终端发送有当前测试指令时,可以在当前测试指令上携带有具体的测试时间如2018年1月1日22点,测试次数为5次,则待测终端接收到添加了测试时间与测试次数的当前测试指令,则根据测试时间与测试次数执行与当前测试指令对应的操作。无需人工监控达到测试时间进行测试,当需要重复测试时,也无需人工进行重复测试,增强使用性,提高测试效率。
本实施例中,测试平台可以根据测试文档中包含的当前待测详细数据生成对应的测试指令,进而接收待测终端返回的相应指令,则可以自动完成对应的测试流程,无需人工参与,增强测试自动化。
在其中一个实施例中,根据测试日志生成测试报告的步骤,可以包括:根据测试日志中包含的测试结果数据,检测测试结果数据的关键字;当关键字为预设类别关键字时,则提取测试结果数据;根据测试结果数据生成测试报告。
具体地,测试结果数据是指待测终端记录的根据测试指令完成的操作结果的数据,测试结果可以是根据测试指令进行操作从而具体得到的测试通过的结果,或是测试中出现的具体的问题的数据。进一步地,当测试平台接收到测试日志时,则检测测试日志中包含的测试结果数据,当检测到测试结果数据包含有预设的关键字时,则提取测试结果数据,进而将测试结果数据进行输出得到测试报告,测试结果可以包含执行具体的测试指令出现的包含预设关键字的测试结果,从而可以查找到生成测试指令的待测详细数据,进而查询到生成待测详细数据的待测事件逻辑。例如,测试平台接收到测试日志时,预设有类别关键字为“闪退”,则检测测试日志中包含的测试结果数据,当测试结果数据中包含有“闪退”时,则将该测试结果进行输出得到相应的测试报告,测试结果可以包含执行具体的测试指令发生的闪退,从而可以查找到生成测试指令的待测详细数据,进而查询到生成待测详细数据的待测事件逻辑。
本实施例中,可以从测试日志中提取相应的测试结果对应的生成相应的测试报告,则后续人工可以有针对性的查看对应的测试报告,无需查看包含大量数据的测试日志,增强适用性。
在其中一个实施例中,根据测试日志生成测试报告的步骤之后,可以包括:当测试报告中的漏洞结果的检测值大于预设值时,则获取生成测试文档的交互文档与样式文档;将当前交互文档的版本与生成测试文档的交互文档的版本进行比对;当当前交互文档的版本与生成测试文档的交互文档的版本、以及当前样式文档的版本与生成测试文档的交互文档的版本均不匹配,则继续执行获取当前交互文档与当前样式文档的步骤。
具体地,漏洞结果是指测试结果中出现测试不通过的缺陷,漏洞可以是点击控件出现的页面闪退,可以是点击控件未作出页面跳转等。当测试平台接收到测试日志,并根据测试日志生成的测试报告中的漏洞结果的检测值大于预设值时,也即进行测试过程中检测到的漏洞的结果大于预设值时,则需要验证当前测试文档与当前交互文档是否有更改,也即是否有版本的更新等,进而测试平台获取生成测试文档的交互文档与样式文档,将生成测试文档的交互文档与当前交互文档的版本进行比对,进而再将生成测试文档的样式文档与当前样式文档的版本进行比对,当生成测试文档的交互文档与当前交互文档的版本比对不成功,以及生成测试文档的样式文档与当前样式文档的版本比对不成功时,则生成测试文档的交互文档与样式文档有更新,也即对应的待测软件有相应的更新,则需要重新生成测试文档对待测软件进行测试,进而继续执行获取当前交互文档与当前样式文档,从而从当前交互文档中查找待测软件的首页文件,并根据首页文件查找待测事件逻辑,从当前样式文档中获取与待测事件逻辑对应的待测详细数据,根据待测详细数据生成对应的测试文档,将测试文档发送至待测终端进行测试,并接收待测终端返回的测试日志,根据测试日志生成测试报告。
本实施例中,当测试结果中的漏洞结果的检测值大于预设值时,则自动获取生成测试文档的交互文档与当前交互文档进行比对,获取生成测试文档的样式文档与当前样式文档进行比对,当生成测试文档的交互文档与当前交互文档进行均比对不成功且生成测试文档的样式文档与当前样式文档进行比对均不成功时,则生成测试文档的交互文档与样式文档有更新,则获取当前交互文档与当前样式文档,避免采用原始版本的交互文档与样式文档生成对应的测试文档,从而出现对更改了版本的待测软件进行的测试不准确,提高测试准确率。
应该理解的是,虽然图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种自动化测试装置,包括:获取模块310、待测事件逻辑查找模块320、待测详细数据获取模块330、测试文档生成模块340、测试日志接收模块350和测试报告生成模块360,其中:
获取模块310,用于获取待测软件的当前交互文档与当前样式文档。
待测事件逻辑查找模块320,用于从当前交互文档中查找待测软件的首页文件,并根据首页文件查找待测事件逻辑。
待测详细数据获取模块330,用于从当前样式文档中获取与待测事件逻辑对应的待测详细数据。
测试文档生成模块340,用于根据待测详细数据生成对应的测试文档。
测试日志接收模块350,用于将测试文档发送至待测终端进行测试,并接收待测终端返回的测试日志。
测试报告生成模块360,用于根据测试日志生成测试报告。
在其中一个实施例中,待测事件逻辑查找模块320,可以包括:
第一待测事件类型获取单元,用于查找当前交互文档中的待测软件的首页文件,并从首页文件中获取当前第一待测事件类型。
第一操作数据获取单元,用于获取与当前第一待测事件类型对应的第一操作数据。
第二待测事件类型获取单元,用于根据第一操作数据从当前交互文档中获取当前待测页面,并从当前交互文档中获取当前待测页面的第二待测事件类型。
第一操作数据获取单元,用于获取与第二待测事件类型对应的第二操作数据。
第一循环单元,用于根据第二操作数据从当前交互文档中获取下一待测页面作为当前待测页面,并继续从当前交互文档中获取当前待测页面的第二待测事件类型的步骤,直至当前交互文档中不存在与当前测试页面对应的第二待测事件类型。
第二循环单元,用于从首页文件中获取当前第一待测事件类型的下一第一待测试事件类型作为当前第一待测事件类型,继续执行获取与当前第一待测事件类型对应的第一操作数据,直至遍历完首页文件中的第一待测事件类型。
待测事件逻辑获取单元,用于将所得到的第一待测事件类型、第一操作数据、第二测事件类型和第二操作数据作为待测事件逻辑。
在其中一个实施例中,待测详细数据获取模块330,可以包括:
第一事件控件获取单元,用于从样式文档中获取与当前第一待测事件类型对应的当前第一事件控件。
第一坐标读取单元,用于读取与当前第一事件控件在首页页面对应的第一坐标。
当前待测页面获取单元,用于根据第一操作数据,从当前样式文档中获取到与第一坐标对应的当前待测页面。
第三循环单元,用于获取与第二待测事件类型对应的第二事件控件,读取第二事件控件在当前待测页面的第二坐标。根据第二操作数据从当前样式文档中获取与第二坐标对应的下一待测页面作为当前待测页面,继续获取与第二待测事件类型对应的第二事件控件的步骤,直至当前样式文档中不存在与第二待测试类型对应的第二事件控件。
第四循环单元,用于从视觉文档中获取与下一第一待测事件类型对应的下一第一事件控件,作为当前第一事件控件,继续读取与当前第一事件控件在首页页面对应的第一坐标的步骤,直至遍历完当前样式文档中的第一事件控件。
待测详细数据获取单元,用于将所得到的第一事件控件、第一坐标、第二事件控件以及第二坐标作为待测详细数据。
在其中一个实施例中,测试日志接收模块350,可以包括:
当前测试指令生成单元,用于读取测试文档中的当前待测详细数据,根据当前待测详细数据生成相应的当前测试指令。
下一待测详细数据获取单元,用于将当前测试指令发送至待测终端,当待测终端返回与当前测试指令对应的响应指令时,则标记当前待测详细数据测试完成,并获取测试文档中下一待测详细数据。
循环执行单元,用于根据下一待测详细数据更新当前测试指令,继续执行将当前测试指令发送至待测终端的步骤,直至待测试数据都标记为完成。
在其中一个实施例中,测试报告生成模块360,可以包括:
检测单元,用于根据测试日志中包含的测试结果数据,检测测试结果数据的关键字。
提取单元,用于当关键字为预设类别关键字时,则提取测试结果数据。
生成单元,用于根据测试结果数据生成测试报告。
在其中一个实施例中,自动化测试装置300,可以包括:
第一获取模块,用于当测试报告中的漏洞结果的检测值大于预设值时,则获取生成测试文档的交互文档与样式文档。
比对模块,用于将当前交互文档的版本与生成测试文档的交互文档的版本进行比对,将当前样式文档的版本与生成测试文档的样式文档的版本进行比对。
再次获取模块,用于当当前交互文档的版本与生成测试文档的交互文档的版本、以及当前样式文档的版本与生成测试文档的样式文档的版本均不匹配,则继续执行获取当前交互文档与当前样式文档的步骤。
关于自动化测试装置的具体限定可以参见上文中对于自动化测试方法的限定,在此不再赘述。上述自动化测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储自动化测试数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自动化测试方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待测软件的当前交互文档与当前样式文档。从当前交互文档中查找待测软件的首页文件,并根据首页文件查找待测事件逻辑。从当前样式文档中获取与待测事件逻辑对应的待测详细数据。根据待测详细数据生成对应的测试文档。将测试文档发送至待测终端进行测试,并接收待测终端返回的测试日志。根据测试日志生成测试报告。
在其中一个实施例中,处理器执行计算机程序时实现从当前交互文档中查找待测软件的首页文件,并根据首页文件查找待测事件逻辑的步骤,可以包括:查找当前交互文档中的待测软件的首页文件,并从首页文件中获取当前第一待测事件类型。获取与当前第一待测事件类型对应的第一操作数据。根据第一操作数据从当前交互文档中获取当前待测页面,并从当前交互文档中获取当前待测页面的第二待测事件类型。获取与第二待测事件类型对应的第二操作数据。根据第二操作数据从当前交互文档中获取下一待测页面作为当前待测页面,并继续从当前交互文档中获取当前待测页面的第二待测事件类型的步骤,直至当前交互文档中不存在与当前测试页面对应的第二待测事件类型。从首页文件中获取当前第一待测事件类型的下一第一待测试事件类型作为当前第一待测事件类型,继续执行获取与当前第一待测事件类型对应的第一操作数据,直至遍历完首页文件中的第一待测事件类型。将所得到的第一待测事件类型、第一操作数据、第二测事件类型和第二操作数据作为待测事件逻辑。
在其中一个实施例中,处理器执行计算机程序时实现从当前样式文档中获取与待测事件逻辑对应的待测详细数据的步骤,可以包括:从样式文档中获取与当前第一待测事件类型对应的当前第一事件控件。读取与当前第一事件控件在首页页面对应的第一坐标。根据第一操作数据,从当前样式文档中获取到与第一坐标对应的当前待测页面。获取与第二待测事件类型对应的第二事件控件,读取第二事件控件在当前待测页面的第二坐标。根据第二操作数据从当前样式文档中获取与第二坐标对应的下一待测页面作为当前待测页面,继续获取与第二待测事件类型对应的第二事件控件的步骤,直至当前样式文档中不存在与第二待测试类型对应的第二事件控件。从视觉文档中获取与下一第一待测事件类型对应的下一第一事件控件,作为当前第一事件控件,继续读取与当前第一事件控件在首页页面对应的第一坐标的步骤,直至遍历完当前样式文档中的第一事件控件。将所得到的第一事件控件、第一坐标、第二事件控件以及第二坐标作为待测详细数据。
在其中一个实施例中,处理器执行计算机程序时实现将测试文档发送至待测终端进行测试的步骤,可以包括:读取测试文档中的当前待测详细数据,根据当前待测详细数据生成相应的当前测试指令。将当前测试指令发送至待测终端,当待测终端返回与当前测试指令对应的响应指令时,则标记当前待测详细数据测试完成,并获取测试文档中下一待测详细数据。根据下一待测详细数据更新当前测试指令,继续执行将当前测试指令发送至待测终端的步骤,直至待测试数据都标记为完成。
在其中一个实施例中,处理器执行计算机程序时实现根据测试日志生成测试报告的步骤,可以包括:根据测试日志中包含的测试结果数据,检测测试结果数据的关键字。当关键字为预设类别关键字时,则提取测试结果数据。根据测试结果数据生成测试报告。
在其中一个实施例中,处理器执行计算机程序时实现根据测试日志生成测试报告的步骤之后,包括:当测试报告中的漏洞结果的检测值大于预设值时,则获取生成测试文档的交互文档与样式文档。将当前交互文档的版本与生成测试文档的交互文档的版本进行比对,将当前样式文档的版本与生成测试文档的样式文档的版本进行比对。当当前交互文档的版本与生成测试文档的交互文档的版本、以及当前样式文档的版本与生成测试文档的样式文档的版本均不匹配,则继续执行获取当前交互文档与当前样式文档的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待测软件的当前交互文档与当前样式文档。从当前交互文档中查找待测软件的首页文件,并根据首页文件查找待测事件逻辑。从当前样式文档中获取与待测事件逻辑对应的待测详细数据。根据待测详细数据生成对应的测试文档。将测试文档发送至待测终端进行测试,并接收待测终端返回的测试日志。根据测试日志生成测试报告。
在其中一个实施例中,计算机程序被处理器执行时实现从当前交互文档中查找待测软件的首页文件,并根据首页文件查找待测事件逻辑的步骤,可以包括:查找当前交互文档中的待测软件的首页文件,并从首页文件中获取当前第一待测事件类型。获取与当前第一待测事件类型对应的第一操作数据。根据第一操作数据从当前交互文档中获取当前待测页面,并从当前交互文档中获取当前待测页面的第二待测事件类型。获取与第二待测事件类型对应的第二操作数据。根据第二操作数据从当前交互文档中获取下一待测页面作为当前待测页面,并继续从当前交互文档中获取当前待测页面的第二待测事件类型的步骤,直至当前交互文档中不存在与当前测试页面对应的第二待测事件类型。从首页文件中获取当前第一待测事件类型的下一第一待测试事件类型作为当前第一待测事件类型,继续执行获取与当前第一待测事件类型对应的第一操作数据,直至遍历完首页文件中的第一待测事件类型。将所得到的第一待测事件类型、第一操作数据、第二测事件类型和第二操作数据作为待测事件逻辑。
在其中一个实施例中,计算机程序被处理器执行时实现从当前样式文档中获取与待测事件逻辑对应的待测详细数据的步骤,可以包括:从样式文档中获取与当前第一待测事件类型对应的当前第一事件控件。读取与当前第一事件控件在首页页面对应的第一坐标。根据第一操作数据,从当前样式文档中获取到与第一坐标对应的当前待测页面。获取与第二待测事件类型对应的第二事件控件,读取第二事件控件在当前待测页面的第二坐标。根据第二操作数据从当前样式文档中获取与第二坐标对应的下一待测页面作为当前待测页面,继续获取与第二待测事件类型对应的第二事件控件的步骤,直至当前样式文档中不存在与第二待测试类型对应的第二事件控件。从视觉文档中获取与下一第一待测事件类型对应的下一第一事件控件,作为当前第一事件控件,继续读取与当前第一事件控件在首页页面对应的第一坐标的步骤,直至遍历完当前样式文档中的第一事件控件。将所得到的第一事件控件、第一坐标、第二事件控件以及第二坐标作为待测详细数据。
在其中一个实施例中,计算机程序被处理器执行时实现将测试文档发送至待测终端进行测试的步骤,可以包括:读取测试文档中的当前待测详细数据,根据当前待测详细数据生成相应的当前测试指令。将当前测试指令发送至待测终端,当待测终端返回与当前测试指令对应的响应指令时,则标记当前待测详细数据测试完成,并获取测试文档中下一待测详细数据。根据下一待测详细数据更新当前测试指令,继续执行将当前测试指令发送至待测终端的步骤,直至待测试数据都标记为完成。
在其中一个实施例中,计算机程序被处理器执行时实现根据测试日志生成测试报告的步骤,可以包括:根据测试日志中包含的测试结果数据,检测测试结果数据的关键字。当关键字为预设类别关键字时,则提取测试结果数据。根据测试结果数据生成测试报告。
在其中一个实施例中,计算机程序被处理器执行时实现根据测试日志生成测试报告的步骤之后,包括:当测试报告中的漏洞结果的检测值大于预设值时,则获取生成测试文档的交互文档与样式文档。将当前交互文档的版本与生成测试文档的交互文档的版本进行比对,将当前样式文档的版本与生成测试文档的样式文档的版本进行比对。当当前交互文档的版本与生成测试文档的交互文档的版本、以及当前样式文档的版本与生成测试文档的样式文档的版本均不匹配,则继续执行获取当前交互文档与当前样式文档的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种自动化测试方法,所述方法包括:
获取待测软件的当前交互文档与当前样式文档;
从所述当前交互文档中查找所述待测软件的首页文件,并根据所述首页文件查找待测事件逻辑;
从所述当前样式文档中获取与所述待测事件逻辑对应的待测详细数据;
根据所述待测详细数据生成对应的测试文档;
将所述测试文档发送至待测终端进行测试,并接收所述待测终端返回的测试日志;
根据所述测试日志生成测试报告,包括:根据所述测试日志中包含的测试结果数据,检测所述测试结果数据的关键字;当所述关键字为预设类别关键字时,则提取所述测试结果数据;根据所述测试结果数据生成测试报告;
所述将所述测试文档发送至所述待测终端进行测试的步骤,包括:
读取所述测试文档中的当前待测详细数据,根据所述当前待测详细数据生成相应的当前测试指令;
将所述当前测试指令发送至待测终端,当所述待测终端返回与所述当前测试指令对应的响应指令时,则标记当前待测详细数据测试完成,并获取所述测试文档中下一待测详细数据;
根据所述下一待测详细数据更新所述当前测试指令,继续执行将所述当前测试指令发送至待测终端的步骤,直至所述待测详细数据都标记为完成。
2.根据权利要求1所述的方法,其特征在于,所述从所述当前交互文档中查找所述待测软件的首页文件,并根据所述首页文件查找待测事件逻辑的步骤,包括:
查找所述当前交互文档中的所述待测软件的首页文件,并从所述首页文件中获取当前第一待测事件类型;
获取与所述当前第一待测事件类型对应的第一操作数据;
根据所述第一操作数据从所述当前交互文档中获取当前待测页面,并从所述当前交互文档中获取所述当前待测页面的第二待测事件类型;
获取与所述第二待测事件类型对应的第二操作数据;
根据所述第二操作数据从所述当前交互文档中获取下一待测页面作为当前待测页面,并继续所述从所述当前交互文档中获取所述当前待测页面的第二待测事件类型的步骤,直至所述当前交互文档中不存在与所述当前待测页面对应的第二待测事件类型;
从所述首页文件中获取所述当前第一待测事件类型的下一第一待测试事件类型作为所述当前第一待测事件类型,继续执行获取与所述当前第一待测事件类型对应的第一操作数据,直至遍历完所述首页文件中的第一待测事件类型;
将所得到的所述第一待测事件类型、所述第一操作数据、所述第二待测事件类型和所述第二操作数据作为待测事件逻辑。
3.根据权利要求2所述的方法,其特征在于,所述从所述当前样式文档中获取与所述待测事件逻辑对应的待测详细数据的步骤,包括:
从样式文档中获取与所述当前第一待测事件类型对应的当前第一事件控件;
读取与所述当前第一事件控件在首页页面对应的第一坐标;
根据所述第一操作数据,从所述当前样式文档中获取到与所述第一坐标对应的当前待测页面;
获取与所述第二待测事件类型对应的第二事件控件,读取所述第二事件控件在所述当前待测页面的第二坐标;根据所述第二操作数据从所述当前样式文档中获取与所述第二坐标对应的下一待测页面作为当前待测页面,继续获取与所述第二待测事件类型对应的第二事件控件的步骤,直至所述当前样式文档中不存在与所述第二待测事件类型对应的所述第二事件控件;
从视觉文档中获取与所述下一第一待测事件类型对应的下一第一事件控件,作为当前第一事件控件,继续读取与所述当前第一事件控件在首页页面对应的第一坐标的步骤,直至遍历完所述当前样式文档中的第一事件控件;
将所得到的所述第一事件控件、所述第一坐标、所述第二事件控件以及所述第二坐标作为待测详细数据。
4.根据权利要求1所述的方法,其特征在于,根据所述测试日志生成测试报告的步骤之后,包括:
当所述测试报告中的漏洞结果的检测值大于预设值时,则获取生成所述测试文档的所述交互文档与所述样式文档;
将所述当前交互文档的版本与生成所述测试文档的所述交互文档的版本进行比对,将所述当前样式文档的版本与生成所述测试文档的所述样式文档的版本进行比对;
当所述当前交互文档的版本与生成所述测试文档的所述交互文档的版本、以及所述当前样式文档的版本与生成所述测试文档的所述样式文档的版本均不匹配,则继续执行获取所述当前交互文档与所述当前样式文档的步骤。
5.一种自动化测试装置,其特征在于,所述装置包括:
获取模块,用于获取待测软件的当前交互文档与当前样式文档;
待测事件逻辑查找模块,用于从所述当前交互文档中查找所述待测软件的首页文件,并根据所述首页文件查找待测事件逻辑;
待测详细数据获取模块,用于从所述当前样式文档中获取与所述待测事件逻辑对应的待测详细数据;
测试文档生成模块,用于根据所述待测详细数据生成对应的测试文档;
测试日志接收模块,用于将所述测试文档发送至待测终端进行测试,并接收所述待测终端返回的测试日志;
测试报告生成模块,用于根据所述测试日志生成测试报告,包括:根据所述测试日志中包含的测试结果数据,检测所述测试结果数据的关键字;当所述关键字为预设类别关键字时,则提取所述测试结果数据;根据所述测试结果数据生成测试报告;
所述测试日志接收模块包括:
当前测试指令生成单元,用于读取所述测试文档中的当前待测详细数据,根据所述当前待测详细数据生成相应的当前测试指令;
下一待测详细数据获取单元,用于将所述当前测试指令发送至待测终端,当所述待测终端返回与所述当前测试指令对应的响应指令时,则标记当前待测详细数据测试完成,并获取所述测试文档中下一待测详细数据;
循环执行单元,用于根据所述下一待测详细数据更新所述当前测试指令,继续执行将所述当前测试指令发送至待测终端的步骤,直至所述待测详细数据都标记为完成。
6.根据权利要求5所述的装置,其特征在于,所述待测事件逻辑查找模块,包括:
第一待测事件类型获取单元,用于查找所述当前交互文档中的所述待测软件的首页文件,并从所述首页文件中获取当前第一待测事件类型;
第一操作数据获取单元,用于获取与所述当前第一待测事件类型对应的第一操作数据;
第二待测事件类型获取单元,用于根据所述第一操作数据从所述当前交互文档中获取当前待测页面,并从所述当前交互文档中获取所述当前待测页面的第二待测事件类型;
第一操作数据获取单元,用于获取与所述第二待测事件类型对应的第二操作数据;
第一循环单元,用于根据所述第二操作数据从所述当前交互文档中获取下一待测页面作为当前待测页面,并继续所述从所述当前交互文档中获取所述当前待测页面的第二待测事件类型的步骤,直至所述当前交互文档中不存在与所述当前待测页面对应的第二待测事件类型;
第二循环单元,用于从所述首页文件中获取所述当前第一待测事件类型的下一第一待测试事件类型作为所述当前第一待测事件类型,继续执行获取与所述当前第一待测事件类型对应的第一操作数据,直至遍历完所述首页文件中的第一待测事件类型;
待测事件逻辑获取单元,用于将所得到的所述第一待测事件类型、所述第一操作数据、所述第二待测事件类型和所述第二操作数据作为待测事件逻辑。
7.根据权利要求6所述的装置,其特征在于,所述待测详细数据获取模块,包括:
第一事件控件获取单元,用于从样式文档中获取与所述当前第一待测事件类型对应的当前第一事件控件;
第一坐标读取单元,用于读取与所述当前第一事件控件在首页页面对应的第一坐标;
当前待测页面获取单元,用于根据所述第一操作数据,从所述当前样式文档中获取到与所述第一坐标对应的当前待测页面;
第三循环单元,用于获取与所述第二待测事件类型对应的第二事件控件,读取所述第二事件控件在所述当前待测页面的第二坐标;根据所述第二操作数据从所述当前样式文档中获取与所述第二坐标对应的下一待测页面作为当前待测页面,继续获取与所述第二待测事件类型对应的第二事件控件的步骤,直至所述当前样式文档中不存在与所述第二待测事件类型对应的所述第二事件控件;
第四循环单元,用于从视觉文档中获取与所述下一第一待测事件类型对应的下一第一事件控件,作为当前第一事件控件,继续读取与所述当前第一事件控件在首页页面对应的第一坐标的步骤,直至遍历完所述当前样式文档中的第一事件控件;
待测详细数据获取单元,用于将所得到的所述第一事件控件、所述第一坐标、所述第二事件控件以及所述第二坐标作为待测详细数据。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于当所述测试报告中的漏洞结果的检测值大于预设值时,则获取生成所述测试文档的所述交互文档与所述样式文档;
比对模块,用于将所述当前交互文档的版本与生成所述测试文档的所述交互文档的版本进行比对,将所述当前样式文档的版本与生成所述测试文档的所述样式文档的版本进行比对;
再次获取模块,用于当所述当前交互文档的版本与生成所述测试文档的所述交互文档的版本、以及所述当前样式文档的版本与生成所述测试文档的所述样式文档的版本均不匹配,则继续执行获取所述当前交互文档与所述当前样式文档的步骤。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810129540.8A CN108399125B (zh) | 2018-02-08 | 2018-02-08 | 自动化测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810129540.8A CN108399125B (zh) | 2018-02-08 | 2018-02-08 | 自动化测试方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108399125A CN108399125A (zh) | 2018-08-14 |
CN108399125B true CN108399125B (zh) | 2021-06-22 |
Family
ID=63096316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810129540.8A Active CN108399125B (zh) | 2018-02-08 | 2018-02-08 | 自动化测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108399125B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491815A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 基于多阶段的数据生成方法、装置和计算机设备 |
CN111240928B (zh) * | 2020-01-06 | 2024-04-09 | 上海闻泰信息技术有限公司 | 设备驱动自动化检测方法、装置、设备及存储介质 |
CN112235157B (zh) * | 2020-09-30 | 2022-05-17 | 广州鲁邦通物联网科技股份有限公司 | 一种路由器设备测试方法和系统 |
CN112989786B (zh) * | 2021-01-18 | 2023-08-18 | 平安国际智慧城市科技股份有限公司 | 基于图像识别的文档解析方法、系统、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103560829A (zh) * | 2013-10-31 | 2014-02-05 | 上海斐讯数据通信技术有限公司 | 一种uni 端口的自动化测试方法及系统 |
CN107402884A (zh) * | 2017-07-31 | 2017-11-28 | 深圳乐信软件技术有限公司 | 生成接口测试代码的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050081104A1 (en) * | 2003-09-25 | 2005-04-14 | Borislav Nikolik | Test diversity software testing method and apparatus |
CN101950269B (zh) * | 2010-08-30 | 2012-09-05 | 清华大学 | 针对软件构件的自动化测试方法 |
CN103810089B (zh) * | 2012-11-12 | 2021-12-03 | Sap欧洲公司 | 自动测试基于姿态的应用 |
CN103914370B (zh) * | 2012-12-31 | 2017-05-10 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN106155907B (zh) * | 2016-07-04 | 2018-12-18 | 厦门美图移动科技有限公司 | 一种自动化测试方法、装置和计算设备 |
CN107608878A (zh) * | 2017-08-11 | 2018-01-19 | 北京奇虎科技有限公司 | 一种Web自动化测试方法和装置 |
-
2018
- 2018-02-08 CN CN201810129540.8A patent/CN108399125B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103560829A (zh) * | 2013-10-31 | 2014-02-05 | 上海斐讯数据通信技术有限公司 | 一种uni 端口的自动化测试方法及系统 |
CN107402884A (zh) * | 2017-07-31 | 2017-11-28 | 深圳乐信软件技术有限公司 | 生成接口测试代码的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108399125A (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108399125B (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN109375945B (zh) | 物联网设备的固件版本探测方法及漏洞修复率评估方法 | |
CN108459954B (zh) | 应用程序漏洞检测方法和装置 | |
CN108427613B (zh) | 异常接口定位方法、装置、计算机设备和存储介质 | |
CN107622008B (zh) | 一种应用页面的遍历方法和装置 | |
CN110321284B (zh) | 测试数据录入方法、装置、计算机设备和存储介质 | |
CN108959067B (zh) | 搜索引擎的测试方法、装置及计算机可读存储介质 | |
CN109766261B (zh) | 覆盖测试方法、装置、计算机设备和存储介质 | |
CN112100071B (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN111026647B (zh) | 代码覆盖率的获取方法、装置、计算机设备和存储介质 | |
CN113342685A (zh) | 精准测试方法、装置、计算机设备和存储介质 | |
CN111367595B (zh) | 数据处理方法、程序运行方法、装置及处理设备 | |
CN110650091B (zh) | 路由配置信息处理方法、装置、计算机设备和存储介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN112363937B (zh) | 差异覆盖率测试方法、装置、计算机设备和存储介质 | |
CN113282513B (zh) | 接口测试案例的生成方法、装置、计算机设备及存储介质 | |
CN112380130A (zh) | 基于调用依赖关系的应用测试方法和装置 | |
CN113434395A (zh) | 测试用例的自动化生成方法、装置、设备及介质 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN110096442B (zh) | 代码调试方法、用户设备、存储介质及装置 | |
CN112612706A (zh) | 自动化测试方法、计算机设备及存储介质 | |
CN112346981A (zh) | 联调测试覆盖率检测方法及系统 | |
CN112835779A (zh) | 测试用例确定方法、装置、计算机设备 | |
CN111191235A (zh) | 可疑文件分析方法、装置和计算机可读存储介质 | |
CN113704114A (zh) | 功能接口的自动化测试方法、装置、设备及介质 |
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 |