CN106095678A - 用于Windows平台下数据库业务操作的自动化结果检查方法 - Google Patents
用于Windows平台下数据库业务操作的自动化结果检查方法 Download PDFInfo
- Publication number
- CN106095678A CN106095678A CN201610403094.6A CN201610403094A CN106095678A CN 106095678 A CN106095678 A CN 106095678A CN 201610403094 A CN201610403094 A CN 201610403094A CN 106095678 A CN106095678 A CN 106095678A
- Authority
- CN
- China
- Prior art keywords
- result
- test
- data bank
- automatization
- service operation
- 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.)
- Granted
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
本发明涉及一种用于Windows平台下数据库业务操作的自动化结果检查方法,该方法包括以下步骤:将被测对象连接至Robot Framework测试框架上;编写数据库业务操作的相关测试用例;查询数据库的某些特定内容,并将查询结果保存至一txt文件中;运行pscp命令将所述txt文件从Windows客户端传输到Linux机器中;Robot Framework测试框架连接至所述Linux机器,读取txt文件,并将所读取的内容记录于一临时变量中;读取所述临时变量,判断该临时变量中是否满足测试要求的结果,若是,则测试结果为成功,若否,则测试结果为失败;恢复被测对象和Linux机器的状态,以便运行后续用例。与现有技术相比,本发明能够解决自动化测试框架不能直接检查运行于Windows平台下的数据库相关参数的问题。
Description
技术领域
本发明属于自动化测试领域,涉及一种数据库业务操作自动化测试方法,尤其是涉及一种用于Windows平台下数据库业务操作的自动化结果检查方法。
背景技术
在软件行业中,越来越庞大的产品规模使得软件功能测试的工作量越来越繁重,并且这中间存在一个明显的弊端,就是维护的成本越来越高,大量的重复性功能模块测试,耗费着相当多的人力物力,束缚了测试工程师在工作中的主观能动性与创造性。
自动化测试是软件公司普遍选择的解决维护成本高的方法,目前一些公司有自己开发的功能测试工具,其测试的对象有一定的针对性。Robot Framework(简称为RF)自动化测试框架是由python编写的开源软件,有自带的测试库和第三方开源测试库,测试工程师可以利用已有的关键字,创建封装自己需要的用户关键字,形成更高级别、更有业务针对性的测试库,此框架具有很好的可扩展性、通用性和可读性。
在RF测试框架下对Windows下的数据库本身进行操作有两种方法,其一使用命令;其二使用脚本。针对比较复杂的业务操作,通常会选择脚本的形式来操作数据库,那么在RF的用例中只需要写调用这个脚本的操作,这样可以让用例里的逻辑连贯,可读性更强。针对登陆或者简单的操作则会选择使用命令的形式。这两种方式只能对数据库本身进行操作,但是却没有任何的返回值,即使是单行命令的查询操作,查询的结果也只是反映在测试目标机器上,却无法作为一个参数值被RF的用例读取,无法验证业务操作的正确性。
现有一种在RF下对结果进行检查的方法是使用用户自己封装的关键字,该方法的优点是在RF用例中调用简单,缺点是关键字的实现非常复杂,对测试工程师的python编程能力要求很高,且关键字几乎没有通用性,即针对不同类型的数据库,要写不同的关键字。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用于Windows平台下数据库业务操作的自动化结果检查方法。
本发明的目的可以通过以下技术方案来实现:
一种用于Windows平台下数据库业务操作的自动化结果检查方法,该方法用于对运行在Windows平台下的数据库中的查询结果进行校验检查,包括以下步骤:
1)将被测对象连接至Robot Framework测试框架上,所述被测对象为Windows客户端;
2)编写数据库业务操作的相关测试用例;
3)通过Windows环境远程操作的用户关键字运行被测对象中数据库的查询脚本,并将数据库查询结果保存至一txt文件中;
4)运行pscp命令将所述txt文件从Windows客户端传输到Linux机器中;
5)Robot Framework测试框架连接至所述Linux机器,读取txt文件,并将所读取的内容记录于一临时变量中;
6)在Robot Framework测试框架下读取所述临时变量,判断该临时变量中是否满足测试要求,若是,则测试结果为成功,若否,则测试结果为失败;
7)将被测对象和Linux机器的状态恢复至测试前的状态。
所述步骤3)具体为:
301)定义实现Windows环境远程操作的用户关键字,加入python资源文件中;
302)Robot Framework测试框架加载所述python资源文件;
303)Robot Framework测试框架调用步骤301)中所定义的用户关键字运行查询脚本,将查询到的数据结果保存至一txt文件中。
所述步骤4)中,pscp命令的运行通过实现Windows环境远程操作的用户关键字实现。
所述步骤4)中,运行pscp命令进行文件传输时,在Windows客户端和Linux机器间建立通道,具体建立步骤为:
401)Windows客户端运行pscp命令,判断是否为第一次建立通道,若是,则执行步骤402),若否,则执行步骤403);
402)判断是否保留所建立的通道,若是,则保留通道,执行步骤403),若否,则执行步骤404);
403)传输文件并显示传输信息,退出;
404)传输文件并显示传输信息后删除所建立的通道,退出。
所述步骤5)中,Robot Framework测试框架通过shell连接读取txt文件。
所述步骤6)中,满足测试要求具体是指:所述临时变量中预计值或预计字段。
所述步骤7)具体为:
701)在Linux机器上删掉从Windows客户端传送来的txt文件,恢复Linux环境,断开Linux机器与Robot Framework测试框架的连接;
702)数据库恢复至测试用例执行前的状态,并恢复在Windows客户端上的所有产生更改操作。
在Robot Framework测试框架下没有直接的关键字可以对运行在Windows平台下的数据库中的数据结果进行校验检查,与现有技术相比,本发明解决了自动化测试框架不能直接检查运行于Windows平台下的数据库相关参数的问题,具有以下优点:
1)本发明通过pscp技术实现Windows与Linux系统之间文件互传,使得运行于Windows平台下的数据库检查结果通过linux系统的文件读取命令,可以直接将读取的结果反馈到Robot Framework框架下用例的参数中,与既定的数据进行对比,查看是否包含特定的内容,测试方便。
2)本发明通过自定义的用户关键字——实现Windows环境远程操作进行数据结果检查,方便可靠。
3)本发明可以应用到任何类型的数据库结果检查,不需要针对不同的数据库类型封装不同的关键字来完成相同的功能,且不要求测试工程师的python编程能力,只需要熟悉RF内置关键字即可。
4)本发明在建立Windows与Linux系统之间的连接通道时可对选择保留建立的通道,则在同一Windows环境下可直接传输文件,提高效率。
5)本发明在数据库结果检查步骤完成后还对环境进行了恢复操作,恢复用例执行前的所有参与环境的初始状态,使后续用例在执行之初所使用的客户端环境是一致的,同时也避免用例执行次数累计到一定数量时,该客户端环境崩溃或出现资源空间瓶颈的情况。
附图说明
图1为本发明的流程示意图;
图2为pscp工具使用流程示意图;
图3为实施例中的一个测试用例的实现示意图;
图4为关键字free_windowsoperate函数的示意图;
图5为共用Windows环境远程操作关键字封装示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,本实施例提供一种用于Windows平台下数据库业务操作的自动化结果检查方法,该方法用于对运行在Windows平台下的数据库中的数据结果进行校验检查,包括以下步骤:
S1)通过添加环境资源文件将被测对象连接至Robot Framework测试框架上,所述被测对象为Windows客户端。
S2)编写数据库业务操作的相关测试用例;
以上两步为本发明的前期准备工作。
S3)通过Windows环境远程操作的用户关键字运行被测对象中数据库的查询脚本,并将数据库查询结果保存至一txt文件中,具体为:
301)定义实现Windows环境远程操作的用户关键字,加入python资源文件中;
302)Robot Framework测试框架加载所述python资源文件;
303)Robot Framework测试框架调用步骤301)中所定义的用户关键字运行,运行某个目录下的查询数据库脚本,将查询到的数据结果保存至一txt文件中。
S4)运行pscp命令将所述txt文件从Windows客户端传输到Linux机器中,pscp命令的运行也通过实现Windows环境远程操作的用户关键字实现。
如图2所示,运行pscp命令进行文件传输时,在Windows客户端和Linux机器间建立通道,具体建立步骤为:
通过运行,输入cmd进入dos模式,进入pscp.exe所在路径,输入pscp命令。其中pscp命令语法为pscp.exe-pw"${hostPasswd}"–P"${hostPort}"sourcefile"${hostUserName}"@hostIP:source target,host代指文件传输目的地Linux机器,如果是第一次建立此通道,点击回车后会有个提示:该host key在注册表中没有记录,是否信任这个host并在缓存中存储该host key(y/n),输入n则表示临时建立一次连接传输该文件,输入y则表示要在此Windows环境下保留此通道,以后再通过此通道传输文件到host就不用再进行判断,直接传输,回车后在dos下显示文件传输信息。注意在此Windows环境关机重启后,缓存中保留的host key将被清理,通道需要重新建立保存。
S5)Robot Framework测试框架连接至所述Linux机器,建立shell连接,读取txt文件,并将所读取的内容记录于一临时变量中。
S6)在Robot Framework测试框架下读取所述临时变量,判断该临时变量中是否满足测试要求,若是,则测试结果为成功,若否,则测试结果为失败。其中,满足测试要求具体是指:所述临时变量中预计值或预计字段。
以上四步为本发明的核心,即运行于Windows平台下的数据库结果检查测试方法步骤。
S7)将被测对象和Linux机器的状态恢复至测试前的状态,具体为:
701)在Linux机器上删掉从Windows客户端传送来的txt文件,恢复Linux环境,断开Linux机器与Robot Framework测试框架的连接;
702)数据库恢复至测试用例执行前的状态,并恢复在Windows客户端上的所有产生更改操作。
以上两步为用例的收尾工作,恢复用例执行前的所有参与环境的初始状态。使后续用例在执行之初所使用的客户端环境是一致的,同时也避免用例执行次数累计到一定数量时,该客户端环境崩溃或出现资源空间瓶颈的情况。
上述方法适用于运行在Windows下的任何数据库的结果检查,例如Oracle、SQLServer、Sybase、Mysql、Domino、GBase、DB2等数据库类型。下面以Sybase数据库进行举例。
用例功能为验证某软件的数据备份功能和数据恢复功能,图3为RF框架下,一条用例的处理逻辑。
设定数据库业务操作流为对Windows系统下Sybase数据库实例进行实时备份。在备份的过程中,运行脚本向数据库插入一张名为test_go的表,然后停止该实时备份任务,进行数据库恢复操作,以上为前期数据准备工作。
对于数据备份功能是否保证Sybase数据真的保存在存储介质中,以及是否可以成功将存储介质中备份的数据恢复到某个客户端,并且能保证与源数据库保持一致。为了验证以上功能,需要通过对恢复到客户端数据库中的数据结果进行校验。
在本发明中需要用到用户自己封装的关键字——共用windows环境远程操作,实现方法如图4、图5。在python资源文件中写入如图4的函数free_windowsoperated的代码,在RF中加载该python资源文件,在RF就可以直接调用这个函数来封装关键字了,如图5。
通过关键字——共用windows环境远程操作,运行客户端C盘目录下的查询脚本selectNMB_1.bat,脚本功能为查询Sybase实例下某个库中的所有表,并将查询到的结果保存在log_slectNMB_1.txt文件中。
同样通过关键字——共用windows环境远程操作,运行pscp命令将上述保存了数据库查询结果的log_slectNMB_1.txt文件传输到服务器上(服务器为Linux系统)。
通过关键字——共用打开shell连接,连接到对应的Linux服务器上,运行cat命令,将log_slectNMB_1.txt内容读取出来,并保存到一个临时变量${output}里。
利用RF框架内置关键字log将该变量存储的内容写到日志中,并验证${output}变量中包含预计内容,即包含新插入的表名test_go。如果执行通过,则表示此用例可以成功验证该软件的备份恢复功能是否正常。
接下来是收尾工作,恢复此条用例操作过的所有环境到最初的状态。删除服务器上接收的log_slectNMB_1.txt文件,断开服务器的shell连接,删除Windows客户端Sybase数据库下插入的表,删除存储介质中有关此次备份的所有数据。
Claims (7)
1.一种用于Windows平台下数据库业务操作的自动化结果检查方法,其特征在于,该方法用于对运行在Windows平台下的数据库中的查询结果进行校验检查,包括以下步骤:
1)将被测对象连接至Robot Framework测试框架上,所述被测对象为Windows客户端;
2)编写数据库业务操作的相关测试用例;
3)通过Windows环境远程操作的用户关键字运行被测对象中数据库的查询脚本,并将数据库查询结果保存至一txt文件中;
4)运行pscp命令将所述txt文件从Windows客户端传输到Linux机器中;
5)Robot Framework测试框架连接至所述Linux机器,读取txt文件,并将所读取的内容记录于一临时变量中;
6)在Robot Framework测试框架下读取所述临时变量,判断该临时变量中是否满足测试要求,若是,则测试结果为成功,若否,则测试结果为失败;
7)将被测对象和Linux机器的状态恢复至测试前的状态。
2.根据权利要求1所述的用于Windows平台下数据库业务操作的自动化结果检查方法,其特征在于,所述步骤3)具体为:
301)定义实现Windows环境远程操作的用户关键字,加入python资源文件中;
302)Robot Framework测试框架加载所述python资源文件;
303)Robot Framework测试框架调用步骤301)中所定义的用户关键字运行查询脚本,将查询到的数据结果保存至一txt文件中。
3.根据权利要求2所述的用于Windows平台下数据库业务操作的自动化结果检查方法,其特征在于,所述步骤4)中,pscp命令的运行通过实现Windows环境远程操作的用户关键字实现。
4.根据权利要求1所述的用于Windows平台下数据库业务操作的自动化结果检查方法,其特征在于,所述步骤4)中,运行pscp命令进行文件传输时,在Windows客户端和Linux机器间建立通道,具体建立步骤为:
401)Windows客户端运行pscp命令,判断是否为第一次建立通道,若是,则执行步骤402),若否,则执行步骤403);
402)判断是否保留所建立的通道,若是,则保留通道,执行步骤403),若否,则执行步骤404);
403)传输文件并显示传输信息,退出;
404)传输文件并显示传输信息后删除所建立的通道,退出。
5.根据权利要求1所述的用于Windows平台下数据库业务操作的自动化结果检查方法,其特征在于,所述步骤5)中,Robot Framework测试框架通过shell连接读取txt文件。
6.根据权利要求1所述的用于Windows平台下数据库业务操作的自动化结果检查方法,其特征在于,所述步骤6)中,满足测试要求具体是指:所述临时变量中预计值或预计字段。
7.根据权利要求1所述的用于Windows平台下数据库业务操作的自动化结果检查方法,其特征在于,所述步骤7)具体为:
701)在Linux机器上删掉从Windows客户端传送来的txt文件,恢复Linux环境,断开Linux机器与Robot Framework测试框架的连接;
702)数据库恢复至测试用例执行前的状态,并恢复在Windows客户端上的所有产生更改操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610403094.6A CN106095678B (zh) | 2016-06-08 | 2016-06-08 | 用于Windows平台下数据库业务操作的自动化结果检查方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610403094.6A CN106095678B (zh) | 2016-06-08 | 2016-06-08 | 用于Windows平台下数据库业务操作的自动化结果检查方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095678A true CN106095678A (zh) | 2016-11-09 |
CN106095678B CN106095678B (zh) | 2018-11-23 |
Family
ID=57228356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610403094.6A Expired - Fee Related CN106095678B (zh) | 2016-06-08 | 2016-06-08 | 用于Windows平台下数据库业务操作的自动化结果检查方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095678B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203615A (zh) * | 2017-05-23 | 2017-09-26 | 郑州云海信息技术有限公司 | 基于Windows自带Bat命令实现数据库配置和管理的系统和方法 |
CN107547645A (zh) * | 2017-08-30 | 2018-01-05 | 厦门天锐科技股份有限公司 | Linux服务端与windows客户端之间跨平台文件的传输方法 |
CN109446077A (zh) * | 2018-10-18 | 2019-03-08 | 阳光人寿保险股份有限公司 | 一种数据库测试方法及装置 |
CN109669871A (zh) * | 2018-12-24 | 2019-04-23 | 枫国宏利信息科技服务(成都)有限公司 | 一种实现Oracle Form自动化测试的方法 |
CN110399299A (zh) * | 2019-07-17 | 2019-11-01 | 深圳证券交易所 | 自动化测试框架和测试用例的执行方法 |
CN111309584A (zh) * | 2018-12-11 | 2020-06-19 | 迈普通信技术股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112328474A (zh) * | 2020-10-28 | 2021-02-05 | 太仓市同维电子有限公司 | 基于Web Socket远程给Robot Framework下发参数方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164334A (zh) * | 2011-12-19 | 2013-06-19 | 国际商业机器公司 | 检测web应用自动测试用例中的断裂点的系统和方法 |
-
2016
- 2016-06-08 CN CN201610403094.6A patent/CN106095678B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164334A (zh) * | 2011-12-19 | 2013-06-19 | 国际商业机器公司 | 检测web应用自动测试用例中的断裂点的系统和方法 |
Non-Patent Citations (3)
Title |
---|
刘娟娟: "基于 Robot 框架的软件自动化测试技术的研究与应用", 《中国优秀硕士学位论文全文数据库》 * |
梁思秋: "基于Robot Framework的MVC GUI模块自动化测试框架的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
黎守秀: "基于Robot Framework的自动化测试研究及应用", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203615A (zh) * | 2017-05-23 | 2017-09-26 | 郑州云海信息技术有限公司 | 基于Windows自带Bat命令实现数据库配置和管理的系统和方法 |
CN107547645A (zh) * | 2017-08-30 | 2018-01-05 | 厦门天锐科技股份有限公司 | Linux服务端与windows客户端之间跨平台文件的传输方法 |
CN107547645B (zh) * | 2017-08-30 | 2020-10-02 | 厦门天锐科技股份有限公司 | Linux服务端与windows客户端之间跨平台文件的传输方法 |
CN109446077A (zh) * | 2018-10-18 | 2019-03-08 | 阳光人寿保险股份有限公司 | 一种数据库测试方法及装置 |
CN111309584A (zh) * | 2018-12-11 | 2020-06-19 | 迈普通信技术股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111309584B (zh) * | 2018-12-11 | 2024-02-23 | 迈普通信技术股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN109669871A (zh) * | 2018-12-24 | 2019-04-23 | 枫国宏利信息科技服务(成都)有限公司 | 一种实现Oracle Form自动化测试的方法 |
CN109669871B (zh) * | 2018-12-24 | 2021-05-18 | 枫国宏利信息科技服务(成都)有限公司 | 一种实现Oracle Form自动化测试的方法 |
CN110399299A (zh) * | 2019-07-17 | 2019-11-01 | 深圳证券交易所 | 自动化测试框架和测试用例的执行方法 |
CN110399299B (zh) * | 2019-07-17 | 2023-09-26 | 深圳证券交易所 | 自动化测试框架和测试用例的执行方法 |
CN112328474A (zh) * | 2020-10-28 | 2021-02-05 | 太仓市同维电子有限公司 | 基于Web Socket远程给Robot Framework下发参数方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106095678B (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095678A (zh) | 用于Windows平台下数据库业务操作的自动化结果检查方法 | |
CN107506451B (zh) | 用于数据交互的异常信息监控方法及装置 | |
CN110795257B (zh) | 处理多集群作业记录的方法、装置、设备及存储介质 | |
CN107818431B (zh) | 一种提供订单轨迹数据的方法和系统 | |
CN104598376A (zh) | 一种数据驱动的分层自动化测试系统和方法 | |
CN111176867B (zh) | 数据共享交换及开放应用平台 | |
CN104572122A (zh) | 一种软件应用数据的生成装置及方法 | |
CN102236672A (zh) | 一种数据导入方法及装置 | |
CN111563041B (zh) | 一种测试用例按需精准执行方法 | |
CN110188103A (zh) | 数据对账方法、装置、设备和存储介质 | |
CN102508919B (zh) | 数据处理方法及系统 | |
CN106326017A (zh) | 基于Annotation使用的调用链的实现系统 | |
CN110362617B (zh) | 基于多并发技术从数据库快速导出批量数据方法和系统 | |
EP2704031A1 (en) | Improved schema mapping based on data views and database tables | |
CN104915262A (zh) | 一种基于excel数据结构的校验系统及其方法 | |
CN106201889A (zh) | 一种检查程序代码编写规范的系统及其实现方法 | |
CN105868056A (zh) | 获取Windows虚拟机中已删除文件的方法、装置及安全虚拟机 | |
CN107621963A (zh) | 一种软件部署方法、软件部署系统及电子设备 | |
US20160321343A1 (en) | Management of event contexts using bookend contexts | |
CN110795331A (zh) | 软件测试的方法和装置 | |
CN116719799A (zh) | 环保数据治理方法、装置、计算机设备和存储介质 | |
CN111831750A (zh) | 一种区块链数据分析方法、装置、计算机设备及存储介质 | |
US20160321342A1 (en) | Management of event contexts using bookend events | |
CN109426576A (zh) | 容错处理方法以及容错组件 | |
CN114896641A (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181123 Termination date: 20190608 |