CN112395182A - 自动化测试方法、装置、设备及计算机可读存储介质 - Google Patents
自动化测试方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112395182A CN112395182A CN201910746989.3A CN201910746989A CN112395182A CN 112395182 A CN112395182 A CN 112395182A CN 201910746989 A CN201910746989 A CN 201910746989A CN 112395182 A CN112395182 A CN 112395182A
- Authority
- CN
- China
- Prior art keywords
- test
- scene
- case
- test case
- scenario
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 680
- 238000013515 script Methods 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 5
- 208000025174 PANDAS Diseases 0.000 description 4
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 4
- 240000004718 Panda Species 0.000 description 4
- 235000016496 Panda oleosa Nutrition 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 229910052711 selenium Inorganic materials 0.000 description 2
- 239000011669 selenium Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
-
- 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
Abstract
本发明提供一种自动化测试方法、装置、设备及计算机可读存储介质。本发明的方法,通过从测试用例数据中提取出测试用例的关键字和操作值;根据所述测试用例的关键字和操作值,生成所述测试用例的RF脚本;将同一测试场景下所有测试用例的RF脚本组合生成所述测试场景的RF可执行文件;通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果;能够自动生成各测试场景的RF可执行文件,无需用户手动编写自动化测试脚本,实现了UI自动化测试,提高了UI测试的效率。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种自动化测试方法、装置、设备及计算机可读存储介质。
背景技术
UI(User Interface,用户界面)测试是一种对应用程序上的UI控件元素进行测试的技术。比如,点击用户界面上的每个UI控件元素,检测被测试的应用程序的输出结果是否符合预期测试结果。
目前,进行UI测试时,测试工程师需要学习对自动化测试工具的使用,测试工程师为被测试的应用程序构建测试用例,根据测试用例和自动化测试工具编写测试脚本,然后调用Appium、Selenium等开源API运行该测试脚本和被测试程序来得到测试结果。现有UI自动化测试技术需要依赖开发人员开发自动化测试脚本,UI测试效率低,而且开发成本高。
发明内容
本发明提供一种自动化测试方法、装置、设备及计算机可读存储介质,用以解决现有UI自动化测试技术需要依赖开发人员开发自动化测试脚本,UI测试效率低,开发成本高的问题。
本发明的一个方面是提供一种自动化测试方法,包括:
从测试用例数据中提取出测试用例的关键字和操作值;
根据所述测试用例的关键字和操作值,生成所述测试用例的RF脚本;
将同一测试场景下所有测试用例的RF脚本组合生成所述测试场景的RF可执行文件;
通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果。
本发明的另一个方面是提供一种自动化测试装置,包括:
信息提取模块,用于从测试用例数据中提取出测试用例的关键字和操作值;
RF脚本生成模块,用于根据所述测试用例的关键字和操作值,生成所述测试用例的RF脚本;
RF可执行文件生成模块,用于将同一测试场景下所有测试用例的RF脚本组合生成所述测试场景的RF可执行文件;
测试执行模块,用于通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果。
本发明的另一个方面是提供一种自动化测试设备,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现上述所述的自动化测试方法。
本发明的另一个方面是提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的自动化测试方法。
本发明提供的自动化测试方法、装置、设备及计算机可读存储介质,通过从测试用例数据中提取出测试用例的关键字和操作值;根据所述测试用例的关键字和操作值,生成所述测试用例的RF脚本;将同一测试场景下所有测试用例的RF脚本组合生成所述测试场景的RF可执行文件;通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果;能够自动生成各测试场景的RF可执行文件,无需用户手动编写自动化测试脚本,实现了UI自动化测试,提高了UI测试的效率。
附图说明
图1为本发明实施例一提供的自动化测试方法流程图;
图2为本发明实施例二提供的自动化测试方法流程图;
图3为本发明实施例三提供的自动化测试装置的结构示意图;
图4为本发明实施例五提供的自动化测试设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
Pandas:是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
本发明具体的应用场景可以是基于Robot Framework和Selenium WebDriver3.0实现的用户界面(User Interface,简称UI)的自动化测试方法;通过Robot Framework测试框架粘合测试用例、测试库及被测系统,实现UI自动化测试。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
图1为本发明实施例一提供的自动化测试方法流程图。本发明实施例针对现有UI自动化测试技术需要依赖开发人员开发自动化测试脚本,同时还会产生大量重复代码和自动化测试脚本文件,不仅测试效率低,而且开发与管理成本高的问题,提供了自动化测试方法。
本实施例中的方法应用于自动化测试设备,用于进行UI测试的终端设备。在其他实施例中,该方法还可应用于其他设备,本实施例以终端设备为例进行示意性说明。如图1所示,该方法具体步骤如下:
步骤S101、从测试用例数据中提取出测试用例的关键字和操作值。
本实施例中,根据被测系统的功能模块划分测试场景,被测系统可以包括多个功能模块,每个功能模块作为一个测试场景,每个测试场景包括多条测试用例。
在进行UI自动化测试之前,用户录入被测系统的各个测试场景的测试用例数据,测试用例数据是指生成每条测试用例脚本需要使用的数据信息。其中测试用例数据至少可以包括测试场景标识、测试用例标识、测试步骤、关键字、操作值、操作值被赋予的操作对象。另外,测试用例数据还可以包括测试场景隶属模块名称、是否执行、执行结果、备注信息等其他信息,本实施例此处对于测试用例数据的具体内容和格式不做具体限定。
例如,对于用户登录场景,用户录入的测试用例数据可以如表1中所示,测试用例数据包括作为测试场景标识的场景名称,作为测试用例标识的用例编号,以及测试步骤、关键字、操作对象、操作值和是否执行等。
表1
可选的,测试用例数据可以以表格数据方式存储,通过pandas等数据分析工具对测试用例表格数据进行分析和筛选,提取出测试用例的关键字和操作值。
可选的,测试用例数据还可以以其他预先设定好的格式表示,以便于从中提取测试用例的关键字和操作值。
本实施例中,在进行自动化测试之前,可以自动地从测试用例数据中提取出各个测试场景下的测试用例的关键字和操作值。
步骤S102、根据测试用例的关键字和操作值,生成测试用例的RF脚本。
其中,RF脚本是指RobotFramework脚本。
本实施例中,预先定义了测试库,该测试库中包括多个RF脚本生成方法,并提供各个RF脚本生成方法的调用接口。测试用例中的关键字与测试库中的RF脚本生成方法一一对应,RF脚本生成方法用于根据对应的关键字及操作值,自动生成对应的RF脚本生成方法。可选的,RF脚本生成方法可以为python方法。
例如,关键字与自定义的python方法的对照关系可以如表2所示:表2
关键字 | python方法名称 |
点击元素 | Click Element |
点击链接 | Click Link |
点击图片 | Click Image |
选择下拉框 | Select From List |
选择方形单选框 | Select Checkbox |
不选择方形单选框 | Unselect Checkbox |
选择圆形单选框 | Select Radio Button |
页面包含按钮 | Page Should Contain Button |
页面包含方形单选框 | Page Should Contain Checkbox |
页面包含元素 | Page Should Contain Element |
页面包含图片 | Page Should Contain Image |
页面包含链接 | Page Should Contain Link |
页面包含圆形单选按钮 | Page Should Contain Radio Button |
校验链接是否正确 | Location Should Be |
校验链接是否包含 | Location Should Contain |
校验页面名称是否等于 | Title Should Be |
校验页面是否包含 | Page Should Contain |
校验frame是否包含 | Current Frame Contains |
元素是否不可用 | Element Should Be Disabled |
元素是否可用 | Element Should Be Enabled |
元素文字是否包含 | Element Text Should be |
方形单选框是否被选中 | Checkbox Should Be Selected |
方形单选框是否未被选中 | Checkbox Should Not Be Selected |
圆形单选框是否未被选中 | Radio Button Should Not Be Selected |
等待页面包含元素 | Wait Until Page Contains Element |
等待页面不包含元素 | Wait Until Page Does Not Contain Element |
等待执行成功 | Wait Until Keyword Succeeds |
点击拖动条 | Scroll Element Into View |
等待页面响应 | Sleep |
mysql校验 | MysqlCheck |
在该步骤中,根据测试用例的关键字和操作值,调用关键字对应的RF脚本生成方法,生成测试用例的RF脚本。
例如,假设通过从某一测试用例中提取出的关键字为“点击元素”,并且提取到对应的操作值“//input[@name=’username’]”,根据关键字“点击元素”调用自定义python方法“Click Element”,根据关键字“点击元素”和操作值“//input[@name=’username’]”生成对应的RF脚本。
步骤S103、将同一测试场景下所有测试用例的RF脚本组合生成测试场景的RF可执行文件。
本实施例中,在自动提取到所有测试用例的关键字和操作值,生成测试用例的RF脚本之后,该步骤中,可以以文件流的形式,按照Robotframe规则,将每个测试场景下的所有测试用例的RF脚本组合生成对应的.robot形式的文件,得到各个测试场景的RF可执行文件。
步骤S104、通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果。
在得到测试场景的RF可执行文件之后,通过执行测试场景的RF可执行文件,调用Web Driver完成对被测系统的对应测试场景的UI测试,得到该测试场景的测试结果。
本实施例中,在得到各测试场景的RF可执行文件之后,可以通过多线程的方式,并发地执行多个RF可执行文件,以提高自动化测试效率。
本发明实施例通过从测试用例数据中提取出测试用例的关键字和操作值;根据测试用例的关键字和操作值,生成测试用例的RF脚本;将同一测试场景下所有测试用例的RF脚本组合生成测试场景的RF可执行文件;通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果;能够自动生成各测试场景的RF可执行文件,无需用户手动编写自动化测试脚本,实现了UI自动化测试,提高了UI测试的效率。
实施例二
图2为本发明实施例二提供的自动化测试方法流程图。在上述实施例一的基础上,本实施例中,在执行某一测试场景的RF可执行文件,进行对被测系统的该测试场景的UI测试的过程中,若该测试场景的某一测试用例测试不通过,则通过单线程重新执行该测试用例,直至该测试用例测试通过或者对该测试用例的测试测数达到预设次数阈值。如图2所示,对某一测试场景进行测试的具体步骤如下:
步骤S201、从测试用例数据中提取出测试用例的关键字和操作值。
该步骤与上述步骤S101一致,本实施例此处不再赘述。
步骤S202、根据测试用例的关键字和操作值,生成测试用例的RF脚本。
该步骤与上述步骤S102一致,本实施例此处不再赘述。
步骤S203、将测试场景下所有测试用例的RF脚本组合生成测试场景的RF可执行文件。
本实施例中,在自动提取到某一测试场景下所有测试用例的关键字和操作值,生成测试用例的RF脚本之后,该步骤中,可以以文件流的形式,按照Robotframe规则,将该测试场景下的所有测试用例的RF脚本组合生成对应的.robot形式的文件,得到该测试场景的RF可执行文件。
步骤S204、执行测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到测试场景的测试结果。
在得到测试场景的RF可执行文件之后,通过执行测试场景的RF可执行文件,调用Web Driver完成对被测系统的对应测试场景的UI测试,得到该测试场景的测试结果。
本实施例中,在得到各测试场景的RF可执行文件之后,可以通过多线程的方式,并发地执行多个RF可执行文件,以提高自动化测试效率。
其中,测试场景的测试结果包括测试场景下每个测试用例的测试结果,测试用例的测试结果包括执行是否成功和执行返回数据。
可选的,该步骤还可以采用如下方式实现:
将所有测试场景的RF可执行文件分配给至少一个客户端,以使每个客户端通过多线程并发地执行至少一个测试场景的RF可执行文件,并返回至少一个测试场景的测试结果。
具体的,通过socket连接,将得到的RF可执行文件分布式分发给多个客户端,每个客户端通过多线程并发地执行至少一个测试场景的RF可执行文件,并返回至少一个测试场景的测试结果。
可选的,将RF可执行文件分布式分发给多个客户端时,可以采用“举手”方式,客户端在执行完已分配的RF可执行文件的任务之后,可以自动请求下一个RF可执行文件的任务。
可选的,将RF可执行文件分布式分发给多个客户端时,可以查询各个客户端的任务数量,根据各个客户端的任务数量,向各个客户端分发RF可执行文件,以使得各个客户端上未处理的任务数量的相对均衡。
另外,客户端在执行完向其分配的所有RF可执行文件的任务之后,可以进行多个测试场景测试结果的合并,并将合并后测试结果通过socket回传给自动化测试设备。
可选的,客户端返回的测试结果可以是xml格式。自动化测试设备在接收到客户端返回的测试结果之后,可以通过Dataframe对xml格式的测试结果进行数据规整化,形成用户可读的excel格式的测试结果,并将excel格式的测试结果展示或者发送给用户。例如,可以将excel格式的测试结果以邮件的形式发送给用户。
本实施例中,无论是由自动化测试设备自行执行测试场景的RF可执行文件完成对应测试场景的UI测试,还是由客户端执行测试场景的RF可执行文件完成对应测试场景的UI测试,执行测试场景的RF可执行文件完成对应测试场景的UI测试,得到测试场景的测试结果,这一处理过程是一致的,可以通过步骤S205-S210,根据测试场景下每个测试用例的测试结果,判断测试场景下每个测试用例的测试是否测试通过;若测试场景下的至少一个测试用例测试不通过,则确定该测试场景测试不通过。
步骤S205、根据测试用例的测试结果,判断测试用例执行是否成功。
其中,测试用例的测试结果包括执行是否成功和执行返回数据。
该步骤中,根据测试场景下的每个测试用例的测试结果,判断测试用例执行是否成功。
如果测试用例执行成功,则继续执行步骤S206。
如果测试用例执行不成功,则可以确定本次该测试用例测试不通过,继续执行步骤S207。
步骤S206、对测试用例的执行返回数据进行校验。
可选的,对测试用例的执行返回数据进行校验时,判断测试用例是否包含数据库校验标识;若测试用例包含数据库校验标识,则根据数据库中测试用例对应的标准返回数据,对测试用例的执行返回数据进行校验。若测试用例不包含数据库校验标识,则直接采用预先定义的该测试用例对应的校验值对测试用例的执行返回数据进行校验。
具体的,若测试用例包含数据库校验标识(例如表2中所示的“mysql校验”),可以调用测试库中的对应的python方法(例如表2中所示的“MysqlCheck”方法),根据数据库中测试用例对应的标准返回数据,对测试用例的执行返回数据进行校验。
该步骤中,通过对测试用例的执行返回数据进行校验,如果测试用例的执行返回数据校验成功,则确定该测试用例测试通过。
如果测试用例的执行返回数据校验失败,则可以确定本次该测试用例测试不通过,继续执行步骤S207。
步骤S207、判断测试用例的测试次数是否达到预设次数阈值。
本实施例中,在执行某一测试场景的RF可执行文件,进行对被测系统的该测试场景的UI测试的过程中,若该测试场景的某一测试用例测试不通过,则通过单线程重新执行该测试用例,直至该测试用例测试通过或者对该测试用例的测试测数达到预设次数阈值,以提高测试用例的测试结果的准确性。
该步骤中,如果测试用例的测试次数大于或者等于预设次数阈值,也就是测试用例的测试次数达到预设次数阈值,则不再重复执行该测试用例,确定该测试用例最终测试不通过。
如果测试用例的测试次数小于预设次数阈值,也就是测试用例的测试次数还未达到预设次数阈值,则执行步骤S208,重复执行该测试用例。
其中,对测试用例的预设次数阈值可以由技术人员根据实际应用场景和经验进行设定,本实施例此处不做具体限定。例如,测试用例的预设次数阈值可以为3。
步骤S208、重复执行该测试用例。
步骤S209、测试用例测试通过。
步骤S210、测试用例测试不通过。
步骤S211、确定测试场景的测试结果。
具体的,通过上述步骤S205-S209,根据测试场景下每个测试用例的测试结果,判断测试场景下每个测试用例的测试是否测试通过。
进一步的,若测试场景下的至少一个测试用例测试不通过,则确定该测试场景测试不通过。若测试场景下所有测试用例均测试通过,则确定该测试场景测试通过。
本实施例中,若测试场景测试不通过,则通过单线程再次执行测试场景的RF可执行文件,重新完成对被测系统的测试场景的UI测试,得到测试场景的新的测试结果,以提高测试场景的测试结果的准确性。
本发明实施例通过从测试用例数据中提取出测试用例的关键字和操作值;根据测试用例的关键字和操作值,生成测试用例的RF脚本;将同一测试场景下所有测试用例的RF脚本组合生成测试场景的RF可执行文件;通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果;能够自动生成各测试场景的RF可执行文件,无需用户手动编写自动化测试脚本,实现了UI自动化测试,提高了UI测试的效率。进一步的,在执行某一测试场景的RF可执行文件,进行对被测系统的该测试场景的UI测试的过程中,若该测试场景的某一测试用例测试不通过,则通过单线程重新执行该测试用例,直至该测试用例测试通过或者对该测试用例的测试测数达到预设次数阈值,以提高测试用例的测试结果的准确性,若测试场景测试不通过,则通过单线程再次执行测试场景的RF可执行文件,重新完成对被测系统的测试场景的UI测试,得到测试场景的新的测试结果,以提高测试场景的测试结果的准确性。
实施例三
图3为本发明实施例三提供的自动化测试装置的结构示意图。本发明实施例提供的自动化测试装置可以执行自动化测试方法实施例提供的处理流程。如图3所示,该自动化测试装置30包括:信息提取模块301,RF脚本生成模块302,RF可执行文件生成模块303和测试执行模块304。
具体地,信息提取模块301,用于从测试用例数据中提取出测试用例的关键字和操作值。
RF脚本生成模块302,用于根据测试用例的关键字和操作值,生成测试用例的RF脚本。
RF可执行文件生成模块303,用于将同一测试场景下所有测试用例的RF脚本组合生成测试场景的RF可执行文件。
测试执行模块304,用于通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过从测试用例数据中提取出测试用例的关键字和操作值;根据测试用例的关键字和操作值,生成测试用例的RF脚本;将同一测试场景下所有测试用例的RF脚本组合生成测试场景的RF可执行文件;通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果;能够自动生成各测试场景的RF可执行文件,无需用户手动编写自动化测试脚本,实现了UI自动化测试,提高了UI测试的效率。
实施例四
在上述实施例三的基础上,本实施例中,测试场景的测试结果包括测试场景下每个测试用例的测试结果,测试用例的测试结果包括执行是否成功和执行返回数据。
可选的,测试执行模块还用于:
根据测试场景下每个测试用例的测试结果,判断测试场景下每个测试用例的测试是否测试通过;若测试场景下的至少一个测试用例测试不通过,则确定该测试场景测试不通过。
可选的,测试执行模块还用于:
根据每个测试用例的测试结果,对测试用例的执行返回数据进行校验;若测试用例执行不成功、或者测试用例的执行返回数据检验失败,则确定测试用例测试不通过;若测试用例执行成功、并且测试用例的执行返回数据检验成功,则确定测试用例测试通过。
可选的,测试执行模块还用于:
判断测试用例是否包含数据库校验标识;若测试用例包含数据库校验标识,则根据数据库中测试用例对应的标准返回数据,对测试用例的执行返回数据进行校验。
可选的,测试执行模块还用于:
在得到某一测试场景的测试结果之后,若测试场景测试不通过,则通过单线程再次执行测试场景的RF可执行文件,重新完成对被测系统的测试场景的UI测试,得到测试场景的新的测试结果。
可选的,测试执行模块还用于:
在执行某一测试场景的RF可执行文件,进行对被测系统的该测试场景的UI测试的过程中,若该测试场景的某一测试用例测试不通过,则通过单线程重新执行该测试用例,直至该测试用例测试通过或者对该测试用例的测试测数达到预设次数阈值。
可选的,测试执行模块还用于:
将所有测试场景的RF可执行文件分配给至少一个客户端,以使每个客户端通过多线程并发地执行至少一个测试场景的RF可执行文件,并返回至少一个测试场景的测试结果。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过从测试用例数据中提取出测试用例的关键字和操作值;根据测试用例的关键字和操作值,生成测试用例的RF脚本;将同一测试场景下所有测试用例的RF脚本组合生成测试场景的RF可执行文件;通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果;能够自动生成各测试场景的RF可执行文件,无需用户手动编写自动化测试脚本,实现了UI自动化测试,提高了UI测试的效率。进一步的,在执行某一测试场景的RF可执行文件,进行对被测系统的该测试场景的UI测试的过程中,若该测试场景的某一测试用例测试不通过,则通过单线程重新执行该测试用例,直至该测试用例测试通过或者对该测试用例的测试测数达到预设次数阈值,以提高测试用例的测试结果的准确性,若测试场景测试不通过,则通过单线程再次执行测试场景的RF可执行文件,重新完成对被测系统的测试场景的UI测试,得到测试场景的新的测试结果,以提高测试场景的测试结果的准确性。
实施例五
图4为本发明实施例五提供的自动化测试设备的结构示意图。如图4所示,该自动化测试设备70包括:处理器701,存储器702,以及存储在存储器702上并可在处理器701上运行的计算机程序。
其中,处理器701运行计算机程序时实现上述任一方法实施例提供的自动化测试方法。
本发明实施例通过从测试用例数据中提取出测试用例的关键字和操作值;根据测试用例的关键字和操作值,生成测试用例的RF脚本;将同一测试场景下所有测试用例的RF脚本组合生成测试场景的RF可执行文件;通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果;能够自动生成各测试场景的RF可执行文件,无需用户手动编写自动化测试脚本,实现了UI自动化测试,提高了UI测试的效率。
另外,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例提供的自动化测试方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种自动化测试方法,其特征在于,包括:
从测试用例数据中提取出测试用例的关键字和操作值;
根据所述测试用例的关键字和操作值,生成所述测试用例的RF脚本;
将同一测试场景下所有测试用例的RF脚本组合生成所述测试场景的RF可执行文件;
通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果。
2.根据权利要求1所述的方法,其特征在于,测试场景的测试结果包括测试场景下每个测试用例的测试结果,测试用例的测试结果包括执行是否成功和执行返回数据;
所述通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果,包括:
根据所述测试场景下每个测试用例的测试结果,判断所述测试场景下每个测试用例的测试是否测试通过;
若所述测试场景下的至少一个测试用例测试不通过,则确定该测试场景测试不通过。
3.根据权利要求2所述的方法,其特征在于,所述根据所述测试场景下每个测试用例的测试结果,判断所述测试场景下每个测试用例的测试是否测试通过,包括:
根据每个测试用例的测试结果,对所述测试用例的执行返回数据进行校验;
若所述测试用例执行不成功、或者所述测试用例的执行返回数据检验失败,则确定所述测试用例测试不通过;
若所述测试用例执行成功、并且所述测试用例的执行返回数据检验成功,则确定所述测试用例测试通过。
4.根据权利要求3所述的方法,其特征在于,所述对所述测试用例的执行返回数据进行校验,包括:
判断所述测试用例是否包含数据库校验标识;
若所述测试用例包含数据库校验标识,则根据数据库中所述测试用例对应的标准返回数据,对所述测试用例的执行返回数据进行校验。
5.根据权利要求2所述的方法,其特征在于,在得到某一测试场景的测试结果之后,还包括:
若所述测试场景测试不通过,则通过单线程再次执行所述测试场景的RF可执行文件,重新完成对被测系统的所述测试场景的UI测试,得到所述测试场景的新的测试结果。
6.根据权利要求2所述的方法,其特征在于,所述通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果,包括:
在执行某一测试场景的RF可执行文件,进行对被测系统的该测试场景的UI测试的过程中,若该测试场景的某一测试用例测试不通过,则通过单线程重新执行该测试用例,直至该测试用例测试通过或者对该测试用例的测试测数达到预设次数阈值。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果,包括:
将所有测试场景的RF可执行文件分配给至少一个客户端,以使每个客户端通过多线程并发地执行至少一个测试场景的RF可执行文件,并返回所述至少一个测试场景的测试结果。
8.一种自动化测试装置,其特征在于,包括:
信息提取模块,用于从测试用例数据中提取出测试用例的关键字和操作值;
RF脚本生成模块,用于根据所述测试用例的关键字和操作值,生成所述测试用例的RF脚本;
RF可执行文件生成模块,用于将同一测试场景下所有测试用例的RF脚本组合生成所述测试场景的RF可执行文件;
测试执行模块,用于通过多线程并发地执行各测试场景的RF可执行文件,完成对被测系统的对应测试场景的UI测试,得到各测试场景的测试结果。
9.一种自动化测试设备,其特征在于,包括:
处理器,存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序;
其中,所述处理器运行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910746989.3A CN112395182A (zh) | 2019-08-14 | 2019-08-14 | 自动化测试方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910746989.3A CN112395182A (zh) | 2019-08-14 | 2019-08-14 | 自动化测试方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112395182A true CN112395182A (zh) | 2021-02-23 |
Family
ID=74602684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910746989.3A Pending CN112395182A (zh) | 2019-08-14 | 2019-08-14 | 自动化测试方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395182A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732322A (zh) * | 2021-04-01 | 2021-04-30 | 上海钐昆网络科技有限公司 | 数据验证方法、装置、电子设备及计算机存储介质 |
CN113535591A (zh) * | 2021-09-13 | 2021-10-22 | 季华实验室 | 机器人程序的验证方法、装置、电子设备及存储介质 |
CN115248782A (zh) * | 2022-09-22 | 2022-10-28 | 中邮消费金融有限公司 | 一种自动化测试方法、装置及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164328A (zh) * | 2011-12-12 | 2013-06-19 | 中国移动通信集团陕西有限公司 | 一种业务功能的回归测试方法、装置及系统 |
CN107451068A (zh) * | 2017-09-20 | 2017-12-08 | 广州阿里巴巴文学信息技术有限公司 | 用例运行方法、装置、计算设备及存储介质 |
CN107908569A (zh) * | 2017-12-29 | 2018-04-13 | 广州品唯软件有限公司 | 一种wap用户界面测试方法 |
US20180267887A1 (en) * | 2017-03-16 | 2018-09-20 | Wipro Limited | Method and system for automatic generation of test script |
CN109446099A (zh) * | 2018-11-09 | 2019-03-08 | 贵州医渡云技术有限公司 | 自动化测试用例生成方法、装置、介质及电子设备 |
CN110083535A (zh) * | 2019-04-22 | 2019-08-02 | 网宿科技股份有限公司 | 一种软件测试方法及装置 |
-
2019
- 2019-08-14 CN CN201910746989.3A patent/CN112395182A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164328A (zh) * | 2011-12-12 | 2013-06-19 | 中国移动通信集团陕西有限公司 | 一种业务功能的回归测试方法、装置及系统 |
US20180267887A1 (en) * | 2017-03-16 | 2018-09-20 | Wipro Limited | Method and system for automatic generation of test script |
CN107451068A (zh) * | 2017-09-20 | 2017-12-08 | 广州阿里巴巴文学信息技术有限公司 | 用例运行方法、装置、计算设备及存储介质 |
CN107908569A (zh) * | 2017-12-29 | 2018-04-13 | 广州品唯软件有限公司 | 一种wap用户界面测试方法 |
CN109446099A (zh) * | 2018-11-09 | 2019-03-08 | 贵州医渡云技术有限公司 | 自动化测试用例生成方法、装置、介质及电子设备 |
CN110083535A (zh) * | 2019-04-22 | 2019-08-02 | 网宿科技股份有限公司 | 一种软件测试方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732322A (zh) * | 2021-04-01 | 2021-04-30 | 上海钐昆网络科技有限公司 | 数据验证方法、装置、电子设备及计算机存储介质 |
CN113535591A (zh) * | 2021-09-13 | 2021-10-22 | 季华实验室 | 机器人程序的验证方法、装置、电子设备及存储介质 |
CN115248782A (zh) * | 2022-09-22 | 2022-10-28 | 中邮消费金融有限公司 | 一种自动化测试方法、装置及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8549478B2 (en) | Graphical user interface input element identification | |
US20140310051A1 (en) | Methods and Apparatus for Project Portfolio Management | |
CN107943694B (zh) | 一种测试数据生成方法及装置 | |
CN112395182A (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
CN107807841B (zh) | 服务器模拟方法、装置、设备及可读存储介质 | |
CN114546738B (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
US8661414B2 (en) | Method and system for testing an order management system | |
CN110688111A (zh) | 业务流程的配置方法、装置、服务器和存储介质 | |
CN110825618A (zh) | 一种生成测试用例的方法及相关装置 | |
CN110990274A (zh) | 一种生成测试案例的数据处理方法、装置及系统 | |
CN111538659B (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN109408361A (zh) | Monkey测试复原方法、装置、电子设备及计算机可读存储介质 | |
CN113434395A (zh) | 测试用例的自动化生成方法、装置、设备及介质 | |
CN113836014A (zh) | 一种接口测试方法、装置、电子设备和存储介质 | |
CN110515653B (zh) | 文档生成方法、装置、电子设备及计算机可读存储介质 | |
CN106294104B (zh) | 一种测试用例的执行方法及移动终端 | |
CN113609014A (zh) | 一种接口字段校验方法、装置、存储介质及电子设备 | |
CN113238940A (zh) | 一种接口测试结果的比对方法、装置、设备和存储介质 | |
CN111538672A (zh) | 测试案例分层测试方法、计算机设备及计算机可读存储介质 | |
CN112632391A (zh) | 数据处理方法、设备及存储介质 | |
CN111767222A (zh) | 数据模型的验证方法、装置、电子设备、存储介质 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN113836037B (zh) | 界面交互的测试方法、装置、设备及存储介质 | |
CN111666301B (zh) | 业务接口测试方法、计算机装置和存储介质 | |
CN117111888A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210223 |