CN107861862A - Ui自动化测试方法、装置及计算机可读存储介质 - Google Patents
Ui自动化测试方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107861862A CN107861862A CN201710504288.XA CN201710504288A CN107861862A CN 107861862 A CN107861862 A CN 107861862A CN 201710504288 A CN201710504288 A CN 201710504288A CN 107861862 A CN107861862 A CN 107861862A
- Authority
- CN
- China
- Prior art keywords
- test
- tested
- scene set
- information
- testing methods
- 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.)
- Pending
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
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
本发明公开了一种UI自动化测试方法、装置及计算机可读存储介质,所述UI自动化测试方法包括:当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析终端被测应用的程序;基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例,其中,所述测试用例包括对待测试元素进行测试的测试步骤信息;根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试;当检测到被测应用的所有待测试元素测试完成时,生成测试报告。本发明旨在解决现有技术中需要浪费大量的人力物力维护与修改测试用例,且在测试后,测试员不能有效获取测试设备的反馈结果,降低测试体验的技术问题。
Description
技术领域
本发明涉及测试技术领域,尤其涉及一种UI自动化测试方法、装置及计算机可读存储介质。
背景技术
随着自动化测试技术的普及,对应用的用户界面(UI,UserInterface)进行测试逐渐由手工测试转为UI自动化测试,UI自动化测试,即由机器模拟用户针对UI的操作,从而进行自动化测试,主要包含网页(Web)UI自动化测试和移动APP应用程序UI自动化测试。
目前,由于移动APP版本迭代迅速,在对智能终端移动APP的UI进行自动化测试时,需要频繁针对不同的移动平台或测试环境进行回归测试、生产发版验证、日常生产巡查和兼容性测试等等,为顺利进行上述各类测试,需要浪费大量的人力物力维护与修改测试用例,且在测试后,测试员不能有效获取测试设备的反馈结果,降低了测试体验。
发明内容
本发明的主要目的在于提供一种UI自动化测试方法、装置及计算机可读存储介质,旨在解决现有技术中需要浪费大量的人力物力维护与修改测试用例,且在测试后,测试员不能有效获取测试设备的反馈结果,降低测试体验的技术问题。
为实现上述目的,本发明提供一种UI自动化测试方法,所述UI自动化测试方法包括:
当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析终端被测应用的程序;
基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例,其中,所述测试用例包括对待测试元素进行测试的测试步骤信息;
根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试;
当检测到被测应用的所有待测试元素测试完成时,生成测试报告。
优选地,所述基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例步骤包括:
获取被测应用的待测试元素的控件信息和行为特征,并基于待测试元素的控件信息与行为特征查找测试步骤信息,基于该测试步骤信息生成测试用例。
优选地,所述UI自动化测试方法还包括:
当检测到当前测试环境不稳定时,基于被测应用的待测试元素生成测试用例,基于所述测试用例生成并在模拟Mock Server模块中运行对应测试场景套,以模拟所述UI自动化测试。
优选地,所述当检测到被测应用的所有待测试元素测试完成时,生成测试报告步骤包括:
若检测到待测试元素测试失败时,对测试失败的测试过程进行记录截屏处理,以生成第一测试结果信息;
若检测到待测试元素测试成功时,记录对应待测试元素测试成功信息,将该成功信息作为第二测试结果信息;
基于所有第一测试结果信息与第二测试结果信息生成测试报告,该测试报告中罗列测试成功元素与测试失败元素的比例信息,测试通过率。
优选地,所述测试步骤信息分装于被测应用对应的待测试配置文件中,
所述根据所述测试用例生成并运行对应测试场景套包括:
从被测应用的待测试配置文件中提取测试步骤信息,并根据测试步骤信息生成并运行对应测试场景套。
优选地,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤之后包括:
若检测到所述待测试元素测试完成时,清除该已测试完成的测试元素对应的测试场景套。
优选地,所述测试场景套包括测试用例、期望结果、测试类型、测试循环次数。
优选地,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤包括:
获取待测试元素相应测试场景套中的测试用例数目,当测试场景套中包括多个测试用例时,获取所述多个测试用例的关系,当多个测试用例的关系为耦合关系时,当耦合关系中上一个测试用例执行成功后才会继续执行下一个测试用例,若上一个测试用例执行失败,不再继续执行后面的测试用例。
此外,为实现上述目的,本发明还提供一种UI自动化测试装置,所述UI自动化测试装置包括:存储器、处理器,通信总线以及存储在所述存储器上的UI自动化测试程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述UI自动化测试程序,以实现以下步骤:
当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析终端被测应用的程序;
基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例,其中,所述测试用例包括对待测试元素进行测试的测试步骤信息;
根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试;
当检测到被测应用的所有待测试元素测试完成时,生成测试报告。
优选地,所述基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例步骤包括:
获取被测应用的待测试元素的控件信息和行为特征,并基于待测试元素的控件信息与行为特征查找测试步骤信息,基于该测试步骤信息生成测试用例。
优选地,所述UI自动化测试方法还包括:
当检测到当前测试环境不稳定时,基于被测应用的待测试元素生成测试用例,基于所述测试用例生成并在模拟Mock Server模块中运行对应测试场景套,以模拟所述UI自动化测试。
优选地,所述当检测到被测应用的所有待测试元素测试完成时,生成测试报告步骤包括:
若检测到待测试元素测试失败时,对测试失败的测试过程进行记录截屏处理,以生成第一测试结果信息;
若检测到待测试元素测试成功时,记录对应待测试元素测试成功信息,将该成功信息作为第二测试结果信息;
基于所有第一测试结果信息与第二测试结果信息生成测试报告,该测试报告中罗列测试成功元素与测试失败元素的比例信息,测试通过率。
优选地,所述测试步骤信息分装于被测应用对应的待测试配置文件中,
所述根据所述测试用例生成并运行对应测试场景套包括:
从被测应用的待测试配置文件中提取测试步骤信息,并根据测试步骤信息生成并运行对应测试场景套。
优选地,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤之后包括:
若检测到所述待测试元素测试完成时,清除该已测试完成的测试元素对应的测试场景套。
优选地,所述测试场景套包括测试用例、期望结果、测试类型、测试循环次数。
优选地,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤包括:
获取待测试元素相应测试场景套中的测试用例数目,当测试场景套中包括多个测试用例时,获取所述多个测试用例的关系,当多个测试用例的关系为耦合关系时,当耦合关系中上一个测试用例执行成功后才会继续执行下一个测试用例,若上一个测试用例执行失败,不再继续执行后面的测试用例。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:
当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析终端被测应用的程序;
基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例,其中,所述测试用例包括对待测试元素进行测试的测试步骤信息;
根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试;
当检测到被测应用的所有待测试元素测试完成时,生成测试报告。
本发明通过当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析终端被测应用的程序;基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例,其中,所述测试用例包括对待测试元素进行测试的测试步骤信息;根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试;当检测到被测应用的所有待测试元素测试完成时,生成测试报告。由于本申请在测试端预存各类测试步骤信息,根据解析的待测应用的待测试元素对应查找需要的测试步骤以动态生成测试用例,因而不再需要固定维护与修改测试用例,且本申请生成测试报告,因而解决了现有技术中需要浪费大量的人力物力维护与修改测试用例,且在测试后,测试员不能有效获取测试设备的反馈结果,降低测试体验的技术问题。
附图说明
图1为本发明UI自动化测试方法第一实施例的流程示意图;
图2为本发明UI自动化测试方法第二实施例的流程示意图;
图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图;
图4是本发明UI自动化测试方法中测试报告的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种UI自动化测试方法,在本发明UI自动化测试方法的第一实施例中,参照图1,所述UI自动化测试方法包括:
步骤S10,当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析终端被测应用的程序;
被测应用程序存储可安装在不同被测终端中,被测终端包括手机,平板等移动终端,还包括电脑,电视等终端,UI自动化测试根据终端系统不同分为安卓,IOS环境下的UI自动化测,在测试平台对UI进行自动化测试时,根据配置测试执行环境又分为开发、生产、运维测试等,当对用户界面UI进行自动化测试时,测试平台运行自动化脚本对被测应用进行测试,其中,自动化脚本在检测到用户界面UI自动化测试指令时自动运行,其中,自动化测试指令在人为触发或者设备触发后可是通过用户界面的压力传感器获取,且由于测试平台能够获取得到待测应用程序的地址路径,当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析被测应用的程序,获取并解析被测应用的程序具体过程可是终端根据测试指令调用被测应用对应接口,以查找到被测应用的程序,并对被测应用的程序内部的运作流程进行分析,以获取被测应用的待测试元素,待测试操作步骤等,在解析被测应用后,测试平台基于预存的测试框架,其中测试框架包括Appium,Eclipse框架等,对测试应用进行测试。测试框架中可包含各测试场景。
步骤S20,基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例,其中,所述测试用例包括对待测试元素进行测试的测试步骤信息;
在基于测试指令获取并解析被测应用的程序后,由于被测应用的程序包括被测应用的待测元素,以及对待测元素的操作步骤描述信息,或者是待测元素的行为特征信息,其中,待测元素包括登录页面,起始页面,应用启动页等,各页面中的按钮、文本框、输入框,复选框、超链接、下拉框等等,标记UI元素为E1、E2、E3...…En,并构成UI元素集合L={E1,E2,E3...En},同时设置集合中所有UI元素的状态,每个元素的状态包含已测试/未测试状态,当对某个待测试元素测试完成时,待测试元素的状态发生改变,待测元素的操作步骤描述信息包括步骤描述关键词,如点击,输入,获取数据,上滑处理,下滑处理,左滑处理,右滑处理,获取配置信息等等,基于该待测试元素生成测试用例,某个测试用例用以对待测试元素进行某项完整的操作测试流程,并获取相应的测试结果,其中,测试用例包括对待测试元素进行测试的测试步骤信息,一般测试用例包括不止一个步骤,因而,在生成测试用例时需根据待测试元素的步骤描述信息从测试端的所有预存步骤中调用或者挑选组合对应的步骤信息,其中,一个待测元素能够对应多个测试用例,即是能够对一个待测元素进行不同操作测试,用以具体实施例说明,如UI界面中对登录页面可分别进行左滑处理,右滑处理,对登录页面进行左滑处理是一个测试用例,对登录页面进行右滑处理是一个测试用例,而登录页面是待测试元素,其中,各个测试用例间关系包括耦合关系与普通顺序执行关系,耦合关系是上一个测试用例执行成功后才会继续执行下一个测试用例,否则将执行失败,不再继续执行后面的测试用例;如果各个测试用例间是普通的顺序执行关系,即不管上一个测试用例是否执行成功,都会继续执行后面的测试用例,直到所有测试用例都执行完。
步骤S30,根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试;
根据测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试。在生成测试用例后,根据测试用例对应的测试类型、测试执行端、测试用例的序号,测试用例对应的预期测试结果等生成测试场景套,其中,测试用例与测试类型、测试执行端、测试用例的序号,测试用例的预期测试结果的对应关系已知且预存于测试端的测试关系表中,其中,测试用例对待测试元素的预期测试结果是已知且预存于测试端的,根据测试场景套对待测试元素进行测试的具体过程可是根据测试场景套中的测试场景,触发对应测试指令,根据该测试指令调用测试用例进行测试并获取测试结果,将测试结果与预期测试结果进行比对以获取测试成功或者失败信息,根据上述步骤完成对所有测试元素的测试。
步骤S40,当检测到被测应用的所有待测试元素测试完成时,生成测试报告。
在对被测应用的所有待测试元素测试完成时,即是所有待测试元素状态变为已测试状态时,生成测试报告并输出。其中,测试报告中包括测试成功率与失败率,当检测到测试失败时,对测试失败的用例或者过程进行截屏记录处理并输出,以供测试人员进行查看。
在本实施例中,通过当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析终端被测应用的程序;基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例,其中,所述测试用例包括对待测试元素进行测试的测试步骤信息;根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试;当检测到被测应用的所有待测试元素测试完成时,生成测试报告。由于在测试过程中基于解析的待测应用程序生成测试用例,因而,在对UI进行自动化测试时,不再需要对测试用例进行维护,减轻了测试人员的负担,提升了测试过程中的测试体验。
进一步地,在本发明UI自动化测试方法的第一实施例的基础上,提供UI自动化测试方法第二实施例,在第二实施例中,参照图2,所述步骤S20包括:
步骤S21,获取被测应用的待测试元素的控件信息和行为特征,并基于待测试元素的控件信息与行为特征查找测试步骤信息,基于该测试步骤信息生成测试用例。
获取被测应用的待测试元素的控件信息,待测试元素的控件信息包括待测元素的触发测试信息,该触发测试信息包括触发与对待测试元素的进行测试的触发路径等,因而获取待测试元素的控件信息,对该控件进行触发后,能够触发利用各场景套对待测试元素测试,获取待测试元素的行为特征,待测元素的行为特征可从被测应用中对待测元素的步骤描述信息中获取,如点击信息,或者是滑动信息,滑动信息包括左滑信息,右滑信息,上滑信息,下滑信息等,基于测试元素的控件信息与行为特征从预存于测试端的所有步骤信息中挑选并组合形成对该待测试元素的测试步骤信息,基于该测试步骤信息生成测试场景套中的测试用例。用以具体实施例说明,预存于测试端的步骤信息包括A,B,C,D,E,F,G,H等15个步骤,而对某待测试元素进行测试时,只需对该待测试元素进行点击操作,而15个步骤中E步骤是点击操作步骤,因而挑选出E步骤生成测试用例。
在本实施例中,通过获取被测应用的待测试元素的控件信息和行为特征,并基于待测试元素的控件信息与行为特征查找测试步骤信息,基于该测试步骤信息生成测试用例。由于能够准确生成测试用例,不再需要多次维护实施例,避免人力物力的浪费,提升用户的测试体验。
进一步地,在本发明UI自动化测试方法的第一实施例的基础上,提供UI自动化测试方法第三实施例,在第三实施例中,所述UI自动化测试方法还包括:
当检测到当前测试环境不稳定时,基于被测应用的待测试元素生成测试用例,基于所述测试用例生成并在模拟Mock Server模块中运行对应测试场景套,以模拟所述UI自动化测试。
当检测到当前测试环境不稳定时,在测试之前由于被测应用的程序已导入至模拟Mock Server模块中,对已导入至模拟Mock Server模块中的被测应用的程序进行解析,基于被测应用的程序获取被测应用的待测试元素,以基于被测应用的待测试元素生成测试用例,以基于测试用例生成对应测试场景套,以模拟所述UI自动化测试。
在本实施例中,通过当检测到当前测试环境不稳定时,基于被测应用的待测试元素生成测试用例,基于所述测试用例生成并在模拟Mock Server模块中运行对应测试场景套,以模拟所述UI自动化测试。由于在测试环境不稳定时,能够模拟UI自动化测试,因而避免由于测试环境对UI自动化测试造成的不利影响,提升了测试体验。
进一步地,在本发明UI自动化测试方法的第一实施例的基础上,提供UI自动化测试方法第四实施例,在第四实施例中,所述当检测到被测应用的所有待测试元素测试完成时,生成测试报告并输出步骤包括:
若检测到待测试元素测试失败时,对测试失败的测试过程进行记录截屏处理,以生成第一测试结果信息;
若检测到待测试元素测试成功时,记录对应待测试元素测试成功信息,将该成功信息作为第二测试结果信息;
基于所有第一测试结果信息与第二测试结果信息生成测试报告,该测试报告中罗列测试成功元素与测试失败元素的比例信息,测试通过率。
若检测到待测试元素测试失败时,对测试失败的测试过程进行记录处理,该记录包括用例的执行步骤等,以供测试人员进行后续分析,当检测到测试成功时,生成测试成功的记录信息,测试报告中还包括执行的测试用例数,执行的测试用例数中成功执行的测试用例数,以及成功执行与未成功执行的测试用例数的比例信息,如图4所示。
在本实施例中,通过若检测到待测试元素测试失败时,对测试失败的测试过程进行记录截屏处理,以生成第一测试结果信息;若检测到待测试元素测试成功时,记录对应待测试元素测试成功信息,将该成功信息作为第二测试结果信息;基于所有第一测试结果信息与第二测试结果信息生成测试报告,该测试报告中罗列测试成功元素与测试失败元素的比例信息,测试通过率。由于生成测试报告,且测试报告中包含测试失败的测试用例执行的具体步骤,以供测试人员进行分析,因而提升了用户体验。
进一步地,在本发明UI自动化测试方法的第一实施例的基础上,提供UI自动化测试方法第五实施例,在第五实施例中,所述测试步骤信息分装于被测应用对应的待测试配置文件中,
所述根据所述测试用例生成并运行对应测试场景套包括:
从被测应用的待测试配置文件中提取测试步骤信息,并根据测试步骤信息生成并运行对应测试场景套。
测试步骤信息分装于被测应用对应的待测试配置文件中,因而在进行UI自动化测试时,从待测试配置文件中挑选测试步骤组合成测试用例的步骤信息即可,进而加快生成测试用例的生成。从被测应用的待测试配置文件中提取测试步骤信息,并根据测试步骤信息生成并运行对应测试场景套。
在本实施例中,通过所述测试步骤信息分装于被测应用对应的待测试配置文件中,从被测应用的待测试配置文件中提取测试步骤信息,并根据测试步骤信息生成并运行对应测试场景套。进而加快测试用例的生成速度,因而加强测试速度,进而提升测试体验。
进一步地,在本发明UI自动化测试方法的第一实施例的基础上,提供UI自动化测试方法第六实施例,在第六实施例中,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤之后包括:
若检测到所述待测试元素测试完成时,清除该已测试完成的测试元素对应的测试场景套。
由于测试用例是UI自动化测试过程中形成的,根据解析被测应用的程序信息,基于测试用例生成的测试场景套也是UI自动化测试过程中形成的,因而在测试完成后,清除该已测试完成的测试元素对应的测试场景套,避免内存的占用。
在本实施例中,通过若检测到所述待测试元素测试完成时,清除该已测试完成的测试元素对应的测试场景套。由于能够及时释放已测试完成的测试元素对应的测试场景套,避免内存的占用,因而在下次测试时能够生成新的测试用例与测试场景套,以进行UI自动化测试。
进一步地,在本发明UI自动化测试方法的第一实施例的基础上,提供UI自动化测试方法第七实施例,在第七实施例中,所述测试场景套包括测试用例、期望结果、测试类型、测试循环次数。
在测试过程中,通过解析被测应用程序,由于在测试平台中已预先保存有对待测试元素进行测试的期望结果,测试循环次数,测试类型,因而在生成测试用例后,在测试平台调取待测试元素对应的测试参数,如测试类型、测试循环次数等,进而生成测试场景套。
在本实施例中,由于测试套包括测试用例、期望结果、测试类型、测试循环次数,因而能够准确进行UI自动化测试。
进一步地,在本发明UI自动化测试方法的第一实施例的基础上,提供UI自动化测试方法第八实施例,在第八实施例中,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤包括:
获取待测试元素相应测试场景套中的测试用例数目,当测试场景套中包括多个测试用例时,获取所述多个测试用例的关系,当多个测试用例的关系为耦合关系时,当耦合关系中上一个测试用例执行成功后才会继续执行下一个测试用例,若上一个测试用例执行失败,不再继续执行后面的测试用例。测试过程中,由于根据测试用例的关系对待测试元素进行测试,因而可确保能够对待测试元素准确顺利进行测试。如a,b,c是具有耦合关系的测试用例,且a耦合于b,b耦合于c,则先执行a,当a执行成功后再执行b,c。
在本实施例中,由于获取待测试元素相应测试场景套中的测试用例数目,当测试场景套中包括多个测试用例时,获取所述多个测试用例的关系,当多个测试用例的关系为耦合关系时,当耦合关系中上一个测试用例执行成功后才会继续执行下一个测试用例,若上一个测试用例执行失败,不再继续执行后面的测试用例。因而实现准确顺利对待测试元素进行测试,进而提升了用户体验。
参照图3,图3是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例UI自动化测试装置可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等终端设备。
如图3所示,该UI自动化测试装置可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,该UI自动化测试装置还可以包括用户接口、网络接口、摄像头、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的UI自动化测试装置结构并不构成对UI自动化测试装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及UI自动化测试程序。操作系统是管理和控制UI自动化测试装置硬件和软件资源的程序,支持UI自动化测试程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与UI自动化测试装置中其它硬件和软件之间通信。
在图3所示的UI自动化测试装置中,处理器1001用于执行存储器1005中存储的UI自动化测试程序,实现以下步骤:
当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析终端被测应用的程序;
基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例,其中,所述测试用例包括对待测试元素进行测试的测试步骤信息;
根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试;
当检测到被测应用的所有待测试元素测试完成时,生成测试报告。
进一步地,所述基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例步骤包括:
获取被测应用的待测试元素的控件信息和行为特征,并基于待测试元素的控件信息与行为特征查找测试步骤信息,基于该测试步骤信息生成测试用例。
进一步地,所述UI自动化测试方法还包括:
当检测到当前测试环境不稳定时,基于被测应用的待测试元素生成测试用例,基于所述测试用例生成并在模拟Mock Server模块中运行对应测试场景套,以模拟所述UI自动化测试。
进一步地,所述当检测到被测应用的所有待测试元素测试完成时,生成测试报告并输出步骤包括:
若检测到待测试元素测试失败时,对测试失败的测试过程进行记录截屏处理,以生成第一测试结果信息;
若检测到待测试元素测试成功时,记录对应待测试元素测试成功信息,将该成功信息作为第二测试结果信息;
基于所有第一测试结果信息与第二测试结果信息生成测试报告,该测试报告中罗列测试成功元素与测试失败元素的比例信息,测试通过率。
进一步地,所述测试步骤信息分装于被测应用对应的待测试配置文件中,
所述根据所述测试用例生成并运行对应测试场景套包括:
从被测应用的待测试配置文件中提取测试步骤信息,并根据测试步骤信息生成并运行对应测试场景套。
进一步地,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤之后包括:
若检测到所述待测试元素测试完成时,清除该待测试元素对应的测试场景套。
进一步地,所述测试场景套包括测试用例、期望结果、测试类型、测试循环次数。
进一步地,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤包括:
获取待测试元素相应测试场景套中的测试用例数目,当测试场景套中包括多个测试用例时,获取所述多个测试用例的关系,当多个测试用例的关系为耦合关系时,当耦合关系中上一个测试用例执行成功后才会继续执行下一个测试用例,若上一个测试用例执行失败,不再继续执行后面的测试用例。
本发明UI自动化测试装置具体实施方式与上述UI自动化测试方法各实施例基本相同,在此不再赘述。
本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现如权利要求1-8中任一项所述的UI自动化测试方法的步骤。
本发明计算机可读存储介质具体实施方式与上述UI自动化测试方法各实施例基本相同,在此不再赘述。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利处理范围内。
Claims (10)
1.一种UI自动化测试方法,其特征在于,所述UI自动化测试方法包括:
当检测到用户界面UI自动化测试指令时,基于该测试指令获取并解析终端被测应用的程序;
基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例,其中,所述测试用例包括对待测试元素进行测试的测试步骤信息;
根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试;
当检测到被测应用的所有待测试元素测试完成时,生成测试报告。
2.如权利要求1所述的UI自动化测试方法,其特征在于,所述基于被测应用的程序获取被测应用的待测试元素,基于该待测试元素生成测试用例步骤包括:
获取被测应用的待测试元素的控件信息和行为特征,并基于待测试元素的控件信息与行为特征查找测试步骤信息,基于该测试步骤信息生成测试用例。
3.如权利要求1所述的UI自动化测试方法,其特征在于,所述UI自动化测试方法还包括:
当检测到当前测试环境不稳定时,基于被测应用的待测试元素生成测试用例,基于所述测试用例生成并在模拟Mock Server模块中运行对应测试场景套,以模拟所述UI自动化测试。
4.如权利要求1所述的UI自动化测试方法,其特征在于,所述当检测到被测应用的所有待测试元素测试完成时,生成测试报告步骤包括:
若检测到待测试元素测试失败时,对测试失败的测试过程进行记录截屏处理,以生成第一测试结果信息;
若检测到待测试元素测试成功时,记录对应待测试元素测试成功信息,将该成功信息作为第二测试结果信息;
基于所有第一测试结果信息与第二测试结果信息生成测试报告,该测试报告中罗列测试成功元素与测试失败元素的比例信息,测试通过率。
5.如权利要求1所述的UI自动化测试方法,其特征在于,所述测试步骤信息分装于被测应用对应的待测试配置文件中,
所述根据所述测试用例生成并运行对应测试场景套包括:
从被测应用的待测试配置文件中提取测试步骤信息,并根据测试步骤信息生成并运行对应测试场景套。
6.如权利要求1-5任一项所述的UI自动化测试方法,其特征在于,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤之后包括:
若检测到所述待测试元素测试完成时,清除该已测试完成的测试元素对应的测试场景套。
7.如权利要求1所述的UI自动化测试方法,其特征在于,所述测试场景套包括测试用例、期望结果、测试类型、测试循环次数。
8.如权利要求1所述的UI自动化测试方法,其特征在于,所述根据所述测试用例生成并运行对应测试场景套,根据该测试场景套对待测试元素进行测试步骤包括:
获取待测试元素相应测试场景套中的测试用例数目,当测试场景套中包括多个测试用例时,获取所述多个测试用例的关系,当多个测试用例的关系为耦合关系时,当耦合关系中上一个测试用例执行成功后才会继续执行下一个测试用例,若上一个测试用例执行失败,不再继续执行后面的测试用例。
9.一种UI自动化测试装置,其特征在于,所述UI自动化测试装置包括:存储器、处理器,通信总线以及存储在所述存储器上的UI自动化测试程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述UI自动化测试程序,以实现如权利要求1至8中任一项所述的UI自动化测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有UI自动化测试程序,所述UI自动化测试程序被处理器执行时实现如权利要求1-8中任一项所述的UI自动化测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710504288.XA CN107861862A (zh) | 2017-06-27 | 2017-06-27 | Ui自动化测试方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710504288.XA CN107861862A (zh) | 2017-06-27 | 2017-06-27 | Ui自动化测试方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107861862A true CN107861862A (zh) | 2018-03-30 |
Family
ID=61699100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710504288.XA Pending CN107861862A (zh) | 2017-06-27 | 2017-06-27 | Ui自动化测试方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861862A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109324967A (zh) * | 2018-09-26 | 2019-02-12 | 深圳壹账通智能科技有限公司 | 应用程序弹窗控件测试的方法、装置及终端设备 |
CN109710523A (zh) * | 2018-12-18 | 2019-05-03 | 平安科技(深圳)有限公司 | 视觉稿的测试用例生成方法及装置、存储介质、电子设备 |
CN109815119A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种app链接渠道的测试方法及装置 |
CN109902004A (zh) * | 2019-02-18 | 2019-06-18 | 深圳壹账通智能科技有限公司 | 一种应用程序链接渠道的测试方法及装置 |
CN110022244A (zh) * | 2019-04-03 | 2019-07-16 | 北京字节跳动网络技术有限公司 | 用于发送信息的方法和装置 |
CN110083529A (zh) * | 2019-03-20 | 2019-08-02 | 北京字节跳动网络技术有限公司 | 自动化测试方法、装置、介质和电子设备 |
CN110347577A (zh) * | 2018-04-04 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种页面测试方法、装置及其设备 |
CN110597704A (zh) * | 2018-06-13 | 2019-12-20 | 百度在线网络技术(北京)有限公司 | 应用程序的压力测试方法、装置、服务器和介质 |
CN110737573A (zh) * | 2018-07-18 | 2020-01-31 | 北京奇虎科技有限公司 | 用户界面ui自动化测试的方法和装置 |
CN110753156A (zh) * | 2019-09-27 | 2020-02-04 | 维沃移动通信有限公司 | 一种信息处理方法及终端设备 |
CN110874319A (zh) * | 2018-09-03 | 2020-03-10 | 广州神马移动信息科技有限公司 | 自动化测试方法、平台、设备及计算机可读存储介质 |
CN110874318A (zh) * | 2018-08-31 | 2020-03-10 | 浙江宇视科技有限公司 | 软件测试方法、装置及计算机可读存储介质 |
CN110888801A (zh) * | 2019-10-23 | 2020-03-17 | 贝壳技术有限公司 | 软件程序的测试方法和装置、存储介质和电子设备 |
CN111240968A (zh) * | 2020-01-06 | 2020-06-05 | 苏州浪潮智能科技有限公司 | 一种自动测试管理方法及系统 |
CN112383661A (zh) * | 2020-11-20 | 2021-02-19 | 北京达佳互联信息技术有限公司 | 移动端自动化测试方法、装置、电子设备及存储介质 |
CN112711525A (zh) * | 2019-10-25 | 2021-04-27 | 中国移动通信集团浙江有限公司 | Ui测试与接口测试的协同测试方法、装置及计算设备 |
CN112765041A (zh) * | 2021-02-04 | 2021-05-07 | 上海硬通网络科技有限公司 | 游戏自动化测试方法、装置及电子设备 |
CN113238953A (zh) * | 2021-05-26 | 2021-08-10 | 杭州安恒信息技术股份有限公司 | Ui自动化测试方法、装置、电子设备和存储介质 |
WO2022111529A1 (zh) * | 2020-11-24 | 2022-06-02 | 华为技术有限公司 | 一种应用程序的调试方法及电子设备 |
CN117992293A (zh) * | 2024-02-26 | 2024-05-07 | 北京中航通用科技有限公司 | 一种多总线综合化测试装置及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030226123A1 (en) * | 2002-06-04 | 2003-12-04 | Thompson Ryan C. | Method and apparatus for TLB entry tracking, collision detection, and address reassignment, in processor testcases |
CN103150249A (zh) * | 2011-12-07 | 2013-06-12 | 北京新媒传信科技有限公司 | 一种自动化测试的方法和系统 |
CN102608993B (zh) * | 2012-03-09 | 2014-07-16 | 北京经纬恒润科技有限公司 | 网络自动化测试的方法、机柜及测试主机 |
CN104794050A (zh) * | 2014-01-21 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN105302722A (zh) * | 2015-11-03 | 2016-02-03 | 腾讯科技(深圳)有限公司 | Cts自动测试方法及装置 |
CN106502904A (zh) * | 2016-11-02 | 2017-03-15 | 四川长虹电器股份有限公司 | 一种智能家电设备应用的ui自动化测试方法 |
-
2017
- 2017-06-27 CN CN201710504288.XA patent/CN107861862A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030226123A1 (en) * | 2002-06-04 | 2003-12-04 | Thompson Ryan C. | Method and apparatus for TLB entry tracking, collision detection, and address reassignment, in processor testcases |
CN103150249A (zh) * | 2011-12-07 | 2013-06-12 | 北京新媒传信科技有限公司 | 一种自动化测试的方法和系统 |
CN102608993B (zh) * | 2012-03-09 | 2014-07-16 | 北京经纬恒润科技有限公司 | 网络自动化测试的方法、机柜及测试主机 |
CN104794050A (zh) * | 2014-01-21 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN105302722A (zh) * | 2015-11-03 | 2016-02-03 | 腾讯科技(深圳)有限公司 | Cts自动测试方法及装置 |
CN106502904A (zh) * | 2016-11-02 | 2017-03-15 | 四川长虹电器股份有限公司 | 一种智能家电设备应用的ui自动化测试方法 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347577A (zh) * | 2018-04-04 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 一种页面测试方法、装置及其设备 |
CN110597704B (zh) * | 2018-06-13 | 2023-09-26 | 百度在线网络技术(北京)有限公司 | 应用程序的压力测试方法、装置、服务器和介质 |
CN110597704A (zh) * | 2018-06-13 | 2019-12-20 | 百度在线网络技术(北京)有限公司 | 应用程序的压力测试方法、装置、服务器和介质 |
CN110737573B (zh) * | 2018-07-18 | 2023-02-17 | 北京奇虎科技有限公司 | 用户界面ui自动化测试的方法和装置 |
CN110737573A (zh) * | 2018-07-18 | 2020-01-31 | 北京奇虎科技有限公司 | 用户界面ui自动化测试的方法和装置 |
CN110874318B (zh) * | 2018-08-31 | 2023-10-24 | 浙江宇视科技有限公司 | 软件测试方法、装置及计算机可读存储介质 |
CN110874318A (zh) * | 2018-08-31 | 2020-03-10 | 浙江宇视科技有限公司 | 软件测试方法、装置及计算机可读存储介质 |
CN110874319A (zh) * | 2018-09-03 | 2020-03-10 | 广州神马移动信息科技有限公司 | 自动化测试方法、平台、设备及计算机可读存储介质 |
CN109324967A (zh) * | 2018-09-26 | 2019-02-12 | 深圳壹账通智能科技有限公司 | 应用程序弹窗控件测试的方法、装置及终端设备 |
CN109815119A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种app链接渠道的测试方法及装置 |
CN109710523B (zh) * | 2018-12-18 | 2023-04-07 | 平安科技(深圳)有限公司 | 视觉稿的测试用例生成方法及装置、存储介质、电子设备 |
CN109710523A (zh) * | 2018-12-18 | 2019-05-03 | 平安科技(深圳)有限公司 | 视觉稿的测试用例生成方法及装置、存储介质、电子设备 |
CN109902004A (zh) * | 2019-02-18 | 2019-06-18 | 深圳壹账通智能科技有限公司 | 一种应用程序链接渠道的测试方法及装置 |
CN110083529B (zh) * | 2019-03-20 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 自动化测试方法、装置、介质和电子设备 |
CN110083529A (zh) * | 2019-03-20 | 2019-08-02 | 北京字节跳动网络技术有限公司 | 自动化测试方法、装置、介质和电子设备 |
CN110022244A (zh) * | 2019-04-03 | 2019-07-16 | 北京字节跳动网络技术有限公司 | 用于发送信息的方法和装置 |
CN110753156A (zh) * | 2019-09-27 | 2020-02-04 | 维沃移动通信有限公司 | 一种信息处理方法及终端设备 |
CN110888801A (zh) * | 2019-10-23 | 2020-03-17 | 贝壳技术有限公司 | 软件程序的测试方法和装置、存储介质和电子设备 |
CN112711525A (zh) * | 2019-10-25 | 2021-04-27 | 中国移动通信集团浙江有限公司 | Ui测试与接口测试的协同测试方法、装置及计算设备 |
CN112711525B (zh) * | 2019-10-25 | 2023-12-26 | 中国移动通信集团浙江有限公司 | Ui测试与接口测试的协同测试方法、装置及计算设备 |
CN111240968A (zh) * | 2020-01-06 | 2020-06-05 | 苏州浪潮智能科技有限公司 | 一种自动测试管理方法及系统 |
CN112383661A (zh) * | 2020-11-20 | 2021-02-19 | 北京达佳互联信息技术有限公司 | 移动端自动化测试方法、装置、电子设备及存储介质 |
WO2022111529A1 (zh) * | 2020-11-24 | 2022-06-02 | 华为技术有限公司 | 一种应用程序的调试方法及电子设备 |
CN112765041A (zh) * | 2021-02-04 | 2021-05-07 | 上海硬通网络科技有限公司 | 游戏自动化测试方法、装置及电子设备 |
CN112765041B (zh) * | 2021-02-04 | 2024-04-05 | 上海硬通网络科技有限公司 | 游戏自动化测试方法、装置及电子设备 |
CN113238953A (zh) * | 2021-05-26 | 2021-08-10 | 杭州安恒信息技术股份有限公司 | Ui自动化测试方法、装置、电子设备和存储介质 |
CN117992293A (zh) * | 2024-02-26 | 2024-05-07 | 北京中航通用科技有限公司 | 一种多总线综合化测试装置及方法 |
CN117992293B (zh) * | 2024-02-26 | 2024-09-17 | 北京中航通用科技有限公司 | 一种多总线综合化测试装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861862A (zh) | Ui自动化测试方法、装置及计算机可读存储介质 | |
US9164870B2 (en) | Integrated fuzzing | |
Azim et al. | Targeted and depth-first exploration for systematic testing of android apps | |
CN105302706B (zh) | 应用程序测试方法和装置 | |
US9489277B2 (en) | Application component testing | |
CN107608874A (zh) | 测试方法和装置 | |
CN105373478B (zh) | 自动化测试方法和系统 | |
CN106326120B (zh) | 一种应用软件的回归测试方法及装置、电子设备 | |
CN112463580A (zh) | 基于虚拟化装置的测试系统及其方法 | |
CN111240973B (zh) | 基于仿真的设备测试方法、系统及可读存储介质 | |
CN110389896A (zh) | 代码自动化分析和测试方法、装置及计算机可读存储介质 | |
CN103744787A (zh) | 一种手机自动化测试方法 | |
CN107656872B (zh) | 软件测试方法、装置、设备和计算机存储介质 | |
CN108664372A (zh) | 测试过程的监控装置、方法及计算机可读存储介质 | |
CN112214405B (zh) | 一种软件测试方法、装置、电子设备和可读存储介质 | |
CN108733569A (zh) | 一种接口自动化测试方法、装置、存储介质及设备 | |
CN108959067A (zh) | 搜索引擎的测试方法、装置及计算机可读存储介质 | |
CN108563579A (zh) | 白盒测试方法、装置、系统及存储介质 | |
CN110493812A (zh) | 配网测试的处理方法、装置、系统、处理器及主控设备 | |
CN105117340B (zh) | 用于iOS浏览器应用质量评估的URL检测方法和装置 | |
CN107276842A (zh) | 接口测试方法、装置及电子设备 | |
CN112597052A (zh) | 接口测试方法、装置及计算机可读存储介质 | |
CN106528429A (zh) | 一种ui界面测试方法及装置 | |
CN108021503A (zh) | 自动化功能测试的方法、装置和计算机存储介质 | |
CN109697164A (zh) | 浏览器中调起App的测试方法、装置、存储介质及终端 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 2000 15/F, 1333 Lujiazui Ring Road, China (Shanghai) Free Trade Pilot Area, Pudong New Area, Shanghai Applicant after: Weikun (Shanghai) Technology Service Co., Ltd Address before: 200000 Lujiazui ring No. 1333, Pudong New Area free trade test area, Shanghai, 15 Applicant before: Lujinsu (Shanghai) Technology Service Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180330 |