一种基于Excel的测试方法和工具与流程

文档序号:11176869阅读:688来源:国知局
一种基于Excel的测试方法和工具与流程

本发明涉及系统测试技术领域,更具体地说,涉及一种基于excel的测试方法和工具。



背景技术:

目前,在做联机交易测试时,报文的数据项没有具体含义,配置发送数据要逐个对照,要修改某个字段值需要对照接口,组发送报文较慢;同时,现有的工具对接收到的报文当做一个大的字符串显示在接受框内,无法直观展示各个字段的值;且现有的工具只能将发送的内容以字符串或者二进制的形式保存在文本文件或者二进制文件中,后续复用时,如果要修改某个字段时,极为不方便。因此,如何有效的解决做联机交易测试时组织发送报文和接收应答报文不够方便、直观、难以保存复用是一项亟待解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于excel的测试方法,能够实现测试人员在excel中进行测试报文的组织、发送、接收、保存再复用,具有方便、直观、可持续化等优点。

为实现上述目的,本发明提供如下技术方案:

一种基于excel的测试方法,包括:

在所述excel中编写vba语言,其中,所述vba语言为在桌面应用程序中执行通用的自动化任务的编程语言;

基于所述编写的vba语言调用操作系统自带的vbs脚本,其中,所述vbs脚本为基于vb编程语言的脚本语言;

在所述vbs脚本中加载所述操作系统自带的提供通讯接口的组件进行报文收发。

优选地,所述在所述vbs脚本中加载所述操作系统自带的提供通讯接口的组件进行报文收发包括:

读取应用服务器的配置参数;

将所述excel中各个字段值按照类型组成发送报文二进制字节流;

将所述二进制字节流写入到文件中;

调用所述vbs脚本,将所述应用服务器的配置参数传递至所述vbs脚本;

判断是否超过联机等待时间;

当未超过联机等待时间时,扫描指定目录下是否有返回文件;

当扫描指定目录下有返回文件时,读取所述文件,将所述文件中的字节流读入内存,按照接收报文格式拆解所述字节流到对应的excel栏位显示。

优选地,当扫描指定目录下是否有返回文件的结果为否时,等待第一预设时间后返回判断是否超过联机等待时间。

优选地,所述在所述vbs脚本中加载所述操作系统自带的提供通讯接口的组件进行报文收发还包括:

接收所述应用服务器的配置参数;

测试所述应用服务器对应的端口是否通讯正常;

当所述应用服务器的端口通讯正常时,读取发送文件,将发送字节流读入内存;

将所述字节流发送到所述应用服务器的端口;

等待所述应用服务器返回;

判断等待所述应用服务器返回的时间是否超时;

当等待所述应用服务器返回的时间未超时时,判断是否接收到所述应用服务器的返回;

当接收到所述应用服务器的返回时,将接收到的字节流写入到指定文件。

优选地,当未接收到所述应用服务器的返回时,等待第二预设时间后返回判断等待所述应用服务器返回的时间是否超时。

一种基于excel的测试工具,包括:

编写模块,用于在所述excel中编写vba语言,其中,所述vba语言为在桌面应用程序中执行通用的自动化任务的编程语言;

调用模块,用于基于所述编写的vba语言调用操作系统自带的vbs脚本,其中,所述vbs脚本为基于vb编程语言的脚本语言;

加载模块,用于在所述vbs脚本中加载所述操作系统自带的提供通讯接口的组件进行报文收发。

优选地,所述加载模块包括:

读取单元,用于读取应用服务器的配置参数;

组成单元,用于将所述excel中各个字段值按照类型组成发送报文二进制字节流;

第一写入单元,用于将所述二进制字节流写入到文件中;

传递单元,用于调用所述vbs脚本,将所述应用服务器的配置参数传递至所述vbs脚本;

第一判断单元,用于判断是否超过联机等待时间;

扫描单元,用于当未超过联机等待时间时,扫描指定目录下是否有返回文件;

处理单元,用于当扫描指定目录下有返回文件时,读取所述文件,将所述文件中的字节流读入内存,按照接收报文格式拆解所述字节流到对应的excel栏位显示。

优选地,当扫描指定目录下是否有返回文件的结果为否时,还包括:

第一等待单元,用于等待第一预设时间后返回判断是否超过联机等待时间。

优选地,所述加载模块还包括:

接收单元,用于接收所述应用服务器的配置参数;

测试单元,用于测试所述应用服务器对应的端口是否通讯正常;

读入单元,用于当所述应用服务器的端口通讯正常时,读取发送文件,将发送字节流读入内存;

发送单元,用于将所述字节流发送到所述应用服务器的端口;

等待单元,用于等待所述应用服务器返回;

第二判断单元,用于判断等待所述应用服务器返回的时间是否超时;

第三判断单元,用于当等待所述应用服务器返回的时间未超时时,判断是否接收到所述应用服务器的返回;

第二写入单元,用于当接收到所述应用服务器的返回时,将接收到的字节流写入到指定文件。

优选地,当未接收到所述应用服务器的返回时,还包括:

第二等待单元,用于等待第二预设时间后返回判断等待所述应用服务器返回的时间是否超时。

由上述技术方案可知,本实施例提供了一种基于excel的测试方法,当需要进行交易测试时,首先在excel中编写vba语言,其中,vba语言为在桌面应用程序中执行通用的自动化任务的编程语言,然后基于编写的vba语言调用操作系统自带的vbs脚本,其中,vbs脚本为基于vb编程语言的脚本语言;最后在vbs脚本中加载操作系统自带的提供通讯接口的组件进行报文收发。能够实现测试人员在excel中进行测试报文的组织、发送、接收、保存再复用,具有方便、直观、可持续化等优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明公开的一种基于excel的测试方法实施例1的方法流程图;

图2为本发明公开的一种基于excel的测试方法实施例2的方法流程图;

图3为本发明公开的一种基于excel的测试方法实施例3的方法流程图;

图4为本发明公开的一种基于excel的测试工具实施例1的结构示意图;

图5为本发明公开的一种基于excel的测试工具实施例2的结构示意图;

图6为本发明公开的一种基于excel的测试工具实施例3的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

如图1所示,为本发明公开的一种基于excel的测试方法实施例1的流程图,本方法包括以下步骤:

s101、在excel中编写vba语言,其中,vba语言为在桌面应用程序中执行通用的自动化任务的编程语言;

当需要做联机交易测试时,打开已经写好vba程序的excel文件,配置好应用服务器的地址和端口以及发送和接收报文字段并填上发送报文字段对应的值。其中,vba的全称为visualbasicforapplications,是visualbasic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化任务的编程语言。

s102、基于编写的vba语言调用操作系统自带的vbs脚本,其中,vbs脚本为基于vb编程语言的脚本语言;

然后根据在excel中编写vba语言调用操作系统自带的vbs脚本,其中vbs的全称为是microsoftvisualbasicscriptediton,vbs是基于visualbasic的脚本语言。

s103、在vbs脚本中操作系统自带的提供通讯接口的组件进行报文收发。

当调用了操作系统自带的vbs脚本后,在vbs脚本中加载操作系统自带的mswinsck.ocx组件,调用该组件提供的通讯接口做报文的发送和接收。其中,mswinsck.ocx是visualbasic语言的socket编程相关文件。

综上所述,在上述实施例中,当需要进行交易测试时,打开已经写好vba程序的excel文件,配置好应用服务器的地址和端口以及发送和接收报文字段并填上发送报文字段对应的值。其中,vba语言为在桌面应用程序中执行通用的自动化任务的编程语言,然后基于编写的vba语言调用操作系统自带的vbs脚本,其中,vbs脚本为基于vb编程语言的脚本语言;最后在vbs脚本中加载操作系统自带的提供通讯接口的组件进行报文收发。能够实现测试人员在excel中进行测试报文的组织、发送、接收、保存再复用,具有方便、直观、可持续化等优点。

具体的,上述实施例中的步骤s103的其中一种实现方式如图2所示,包括以下步骤:

s201、读取应用服务器的配置参数;

在vbs脚本中加载操作系统自带的提供通讯接口的组件进行报文收发时,读取应用服务器的配置参数,其中,应用服务器的配置参数包括服务器地址、端口、超时时间等。

s202、将excel中各个字段值按照类型组成发送报文二进制字节流;

然后将excel中测试人员填写的各个字段值,按照类型组成发送报文二进制字节流。

s203、将二进制字节流写入到文件中;

然后将组成的二进制字节流写入到文件中。

s204、调用vbs脚本,将应用服务器的配置参数传递至vbs脚本;

然后调用vbs脚本,同时将应用服务器地址、端口、超时时间传递给该vbs脚本。

s205、判断是否超过联机等待时间;

然后判断是否超过联机等待时间,其中联机等待时间可以根据实际需求进行灵活的设置。

s206、当未超过联机等待时间时,扫描指定目录下是否有返回文件;

当判断未超过联机等待时间时,进一步扫描指定目录下是否有返回文件;当判断超过联机等待时间时,接收超时,返回测试人员接收超时信息。

s207、当扫描指定目录下是否有返回文件的结果为否时,等待第一预设时间后返回s205;

当判断指定目录下没有返回文件时,等待第一预设时间后,返回继续判断是否超过联机等待时间,其中,第一预设时间可以根据实际需求进行灵活的设定。

s208、当扫描指定目录下有返回文件时,读取文件,将文件中的字节流读入内存,按照接收报文格式拆解所述字节流到对应的excel栏位显示。

当判断指定目录下有返回文件时,读取文件,将文件中的字节流读入内存,并按照接收报文格式拆解字节流到对应的栏位进行展示。

具体的,上述实施例中的步骤s103的其中一种实现方式如图3所示,包括以下步骤:

s301、接收应用服务器的配置参数;

在vbs脚本中加载操作系统自带的提供通讯接口的组件进行报文收发时,接收应用服务器的配置参数,其中,应用服务器的配置参数包括服务器地址、端口、超时时间等。

s302、测试应用服务器对应的端口是否通讯正常;

然后判断应用服务器对应的端口是否通讯正常。

s303、当应用服务器的端口通讯正常时,读取发送文件,将发送字节流读入内存;

当应用服务器的端口通讯正常时,进一步判断是否连通,当判断未连通时,生成连接失败的报错信息,当判断连通时,进一步判断是否已经加载了mswinsck.ocx组件,如果没有加载则进行加载,加载完成后,读取发送文件,将发送字节流读入内存。

s304、将字节流发送到应用服务器的端口;

然后将字节流发送到对应的应用服务器的端口。

s305、等待应用服务器返回;

s306、判断等待应用服务器返回的时间是否超时;

s307、当等待应用服务器返回的时间未超时时,判断是否接收到应用服务器的返回;

s308、当未接收到应用服务器的返回时,等待第二预设时间后返回s306;

s309、当接收到所述应用服务器的返回时,将接收到的字节流写入到指定文件。

综上所述,本发明基于excel工具,用到了office的vba脚本语言以及操作系统的vbs脚本形成了一个可以快速组包、通讯发包及分解数据包等功能,组包功能通过vba读取、拼接数据实现,可以组定长、len+data、8583类型的包;发包时通过调用操作系统自带的mswinsck.ocx组件实现与网络的通讯,借助vba通过操作系统的脚本执行功能来实现winsock控件的注册和调用,从而实现数据的发送与接收;接收的数据写在指定文件中,vba将文件中的数据包按字段截取显示在excel表格中。

如图4所示,为本发明公开的一种基于excel的测试工具实施例1的结构示意图,本测试工具可以包括:

编写模块401,用于在excel中编写vba语言,其中,vba语言为在桌面应用程序中执行通用的自动化任务的编程语言;

当需要做联机交易测试时,打开已经写好vba程序的excel文件,配置好应用服务器的地址和端口以及发送和接收报文字段并填上发送报文字段对应的值。其中,vba的全称为visualbasicforapplications,是visualbasic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化任务的编程语言。

调用模块402,用于基于编写的vba语言调用操作系统自带的vbs脚本,其中,vbs脚本为基于vb编程语言的脚本语言;

然后根据在excel中编写vba语言调用操作系统自带的vbs脚本,其中vbs的全称为是microsoftvisualbasicscriptediton,vbs是基于visualbasic的脚本语言。

加载模块403,用于在vbs脚本中操作系统自带的提供通讯接口的组件进行报文收发。

当调用了操作系统自带的vbs脚本后,在vbs脚本中加载操作系统自带的mswinsck.ocx组件,调用该组件提供的通讯接口做报文的发送和接收。其中,mswinsck.ocx是visualbasic语言的socket编程相关文件。

综上所述,在上述实施例中,当需要进行交易测试时,打开已经写好vba程序的excel文件,配置好应用服务器的地址和端口以及发送和接收报文字段并填上发送报文字段对应的值。其中,vba语言为在桌面应用程序中执行通用的自动化任务的编程语言,然后基于编写的vba语言调用操作系统自带的vbs脚本,其中,vbs脚本为基于vb编程语言的脚本语言;最后在vbs脚本中加载操作系统自带的提供通讯接口的组件进行报文收发。能够实现测试人员在excel中进行测试报文的组织、发送、接收、保存再复用,具有方便、直观、可持续化等优点。

具体的,上述实施例中的加载模块的其中一种实现方式如图5所示,包括:

读取单元501,用于读取应用服务器的配置参数;

在vbs脚本中加载操作系统自带的提供通讯接口的组件进行报文收发时,读取应用服务器的配置参数,其中,应用服务器的配置参数包括服务器地址、端口、超时时间等。

组成单元502,用于将excel中各个字段值按照类型组成发送报文二进制字节流;

然后将excel中测试人员填写的各个字段值,按照类型组成发送报文二进制字节流。

第一写入单元503,用于将二进制字节流写入到文件中;

然后将组成的二进制字节流写入到文件中。

传递单元504,用于调用vbs脚本,将应用服务器的配置参数传递至vbs脚本;

然后调用vbs脚本,同时将应用服务器地址、端口、超时时间传递给该vbs脚本。

第一判断单元505,用于判断是否超过联机等待时间;

然后判断是否超过联机等待时间,其中联机等待时间可以根据实际需求进行灵活的设置。

扫描单元506,用于当未超过联机等待时间时,扫描指定目录下是否有返回文件;

当判断未超过联机等待时间时,进一步扫描指定目录下是否有返回文件;当判断超过联机等待时间时,接收超时,返回测试人员接收超时信息。

第一等待单元507,用于当扫描指定目录下是否有返回文件的结果为否时,等待第一预设时间后返回判断是否超过联机等待时间;

当判断指定目录下没有返回文件时,等待第一预设时间后,返回继续判断是否超过联机等待时间,其中,第一预设时间可以根据实际需求进行灵活的设定。

处理单元508,用于当扫描指定目录下有返回文件时,读取文件,将文件中的字节流读入内存,按照接收报文格式拆解所述字节流到对应的excel栏位显示。

当判断指定目录下有返回文件时,读取文件,将文件中的字节流读入内存,并按照接收报文格式拆解字节流到对应的栏位进行展示。

具体的,上述实施例中的加载模块的其中一种实现方式如图6所示,包括以下步骤:

接收单元601,用于接收应用服务器的配置参数;

在vbs脚本中加载操作系统自带的提供通讯接口的组件进行报文收发时,接收应用服务器的配置参数,其中,应用服务器的配置参数包括服务器地址、端口、超时时间等。

测试单元602,用于测试应用服务器对应的端口是否通讯正常;

然后判断应用服务器对应的端口是否通讯正常。

读入单元603,用于当应用服务器的端口通讯正常时,读取发送文件,将发送字节流读入内存;

当应用服务器的端口通讯正常时,进一步判断是否连通,当判断未连通时,生成连接失败的报错信息,当判断连通时,进一步判断是否已经加载了mswinsck.ocx组件,如果没有加载则进行加载,加载完成后,读取发送文件,将发送字节流读入内存。

发送单元604,用于将字节流发送到应用服务器的端口;

然后将字节流发送到对应的应用服务器的端口。

等待单元605,用于等待应用服务器返回;

第二判断单元606,用于判断等待应用服务器返回的时间是否超时;

第三判断单元607,用于当等待应用服务器返回的时间未超时时,判断是否接收到应用服务器的返回;

第三判断单元608,用于当未接收到应用服务器的返回时,等待第二预设时间后返回等待应用服务器返回;

第二写入单元609,用于当接收到所述应用服务器的返回时,将接收到的字节流写入到指定文件。

综上所述,本发明基于excel工具,用到了office的vba脚本语言以及操作系统的vbs脚本形成了一个可以快速组包、通讯发包及分解数据包等功能,组包功能通过vba读取、拼接数据实现,可以组定长、len+data、8583类型的包;发包时通过调用操作系统自带的mswinsck.ocx组件实现与网络的通讯,借助vba通过操作系统的脚本执行功能来实现winsock控件的注册和调用,从而实现数据的发送与接收;接收的数据写在指定文件中,vba将文件中的数据包按字段截取显示在excel表格中。

为了更加特定地强调实施的独立性,本说明书涉及许多模块或单元。举例而言,模块或单元可由硬件电路实现,该硬件电路包括特制vlsi电路或门阵列,比如逻辑芯片、晶体管,或其它组件。模块或单元也可在可编程的硬设备中实现,比如场效可编程门阵列、可编程阵列逻辑、可编程逻辑设备等等。

模块或单元也可在藉由各种形式的处理器所执行的软件中实现。比如说,一可执行码模块可包括一个或多个实体的或逻辑的计算机指令区块,该区块可能形成为,比如说,对象、程序或函数。然而,鉴别模块或单元的可执行部分不需要物理上放置在一起,但可由存于不同位置的不同指令所组成,当逻辑上组合在一起时,形成模块或单元且达到该模块或单元所要求的目的。

实际上,可执行码模块或单元可以是一单一指令或多个指令,甚至可以分布在位于不同的程序的数个不同的码区段,并且横跨数个存储设备。同样地,操作数据可被辨识及显示于此模块或单元中,并且可以以任何合适的形式实施且在任何合适的数据结构形式内组织。操作数据可以集合成单一数据集,或可分布在具有不同的存储设备的不同的位置,且至少部分地只以电子信号方式存在于一系统或网络。

本说明书所提及的“实施例”或类似用语表示与实施例有关的特性、结构或特征,包括在本发明的至少一实施例中。因此,本说明书所出现的用语“在一实施例中”、“在实施例中”以及类似用语可能但不必然都指向相同实施例。

再者,本发明所述特性、结构或特征可以以任何方式结合在一个或多个实施例中。以下说明将提供许多特定的细节,比如编程序、软件模块、用户选择、网络交易、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等例子,以提供对本发明实施例的了解。然而相关领域的普通技术人员将看出本发明,即使没有利用其中一个或多个特定细节,或利用其它方法、组件、材料等亦可实施。另一方面,为避免混淆本发明,公知的结构、材料或操作并没有详细描述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1