CN107402880B - 一种测试方法及电子设备 - Google Patents

一种测试方法及电子设备 Download PDF

Info

Publication number
CN107402880B
CN107402880B CN201610342032.9A CN201610342032A CN107402880B CN 107402880 B CN107402880 B CN 107402880B CN 201610342032 A CN201610342032 A CN 201610342032A CN 107402880 B CN107402880 B CN 107402880B
Authority
CN
China
Prior art keywords
test
information
target
environment
request
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
Application number
CN201610342032.9A
Other languages
English (en)
Other versions
CN107402880A (zh
Inventor
龙潭
李翔
李勇
王博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Beijing Co Ltd
Original Assignee
Tencent Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Beijing Co Ltd filed Critical Tencent Technology Beijing Co Ltd
Priority to CN201610342032.9A priority Critical patent/CN107402880B/zh
Publication of CN107402880A publication Critical patent/CN107402880A/zh
Application granted granted Critical
Publication of CN107402880B publication Critical patent/CN107402880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Abstract

本发明提供了一种测试方法及电子设备,该方法包括:基于选取的测试任务确定目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;从至少一个测试环境中选取得到目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;基于所述目标域名信息以及所述目标地址信息,构建所述测试步骤对应的测试请求;发送测试请求至服务器侧,获取到所述服务器侧反馈的测试结果。

Description

一种测试方法及电子设备
技术领域
本发明涉及信息处理领域的端口测试技术,具体涉及一种测试方法及电子设备。
背景技术
目前,进行接口测试通常需要执行测试用例来完成测试,具体的处理方法可以包括有通过修改或编写测试代码来建立每一个测试用例,然后通过修改host文件来实现测试环境的设置,其中,Hosts用于将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”。对Hosts文件的管理主要通过代理服务器。
但是,上述方案存在以下问题:若接口测试用于测试不同的被测环境,必需要修改操作系统中的hosts文件,以便访问到正确的IP地址。由于不同的测试环境其对应的IP地址也不同,因此,对于不同的测试环境,需要使用不同的hosts文件,这样,会出现其他测试任务无法使用该修改后的hosts文件进行正确的域名解析以得到正确的IP地址,从而无法访问到所需要访问的IP地址,无法获得正确的Web测试数据。由于需要通过代理服务器完成Host也就是域名和IP之间对应关系的解析,导致会产生多次网络请求,从而降低了测试效率、提高了测试成本。
发明内容
有鉴于此,本发明实施例的主要目的在于提供一种测试方法及电子设备,以至少解决上述现有存在的技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种测试方法,该方法包括:
基于选取的测试任务确定目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;
从至少一个测试环境中选取得到目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;
基于所述目标域名信息以及所述目标地址信息,构建所述测试步骤对应的测试请求;
发送测试请求至服务器侧,获取到所述服务器侧反馈的测试结果。
本发明实施例提供了一种电子设备,该电子设备包括:
测试信息管理单元,用于基于选取的测试任务确定目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;以及从至少一个测试环境中选取得到目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;
处理单元,用于基于所述目标域名信息以及所述目标地址信息,构建所述测试步骤对应的测试请求;
第一通信单元,用于发送测试请求至服务器侧,获取到所述服务器侧反馈的测试结果。
本发明提供的一种测试方法及电子设备,仅选取目标测试用例以及目标测试环境,基于目标测试环境确定目标域名信息以及目标地址信息,即可自动生成目标域名信息以及目标地址信息对应的测试请求,然后发送测试请求至服务器侧并接收到服务器反馈的测试结果。如此,就能够通过选取测试环境中的目标域名信息以及目标地址信息,自动的构建测试请求,避免了手动的对测试请求进行构建而带来的无法快速切换测试环境的问题;并且由于避免了对测试环境对应的地址和/或域名进行解析的操作,所以能够进一步保证测试请求的生成效率,从而保证了测试效率。
附图说明
图1为本发明实施例测试方法流程示意图一;
图2为本发明实施例测试环境的设置界面示意图;
图3为本发明实施例测试任务列表示意图一;
图4为本发明实施例测试任务列表示意图二;
图5为本发明实施例选取测试用例以及测试环境操作界面示意图一;
图6为本发明实施例选取测试用例以及测试环境操作界面示意图二;
图7为本发明实施例测试方法流程示意图二;
图8为本发明实施例测试用例中的一个测试步骤内容示意图;
图9为本发明实施例构建的测试请求的程序样式示意;
图10为本发明实施例进行测试的处理流程示意图一;
图11为本发明实施例进行测试的处理流程示意图二;
图12为本发明实施例进行测试的处理流程示意图三;
图13为本发明实施例进行测试用例的录制处理示意图;
图14为本发明实施例录制一个测试用例的信息内容;
图15为本发明实施例测试用例列表示意图;
图16为本发明实施例电子设备组成结构示意图一;
图17为本发明实施例电子设备组成结构示意图二;
图18为本发明实施例具体硬件组成结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明。
实施例一、
本发明实施例提供了一种测试方法,如图1所示,包括:
步骤101:选取目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;
步骤102:选取目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;
步骤103:基于所述目标域名信息以及所述目标地址信息,构建所述测试步骤对应的测试请求;
步骤104:发送测试请求至服务器侧,获取到所述服务器侧反馈的测试结果。
本实施例的执行主体可以为电子设备,具体的可以为具备处理功能的电子设备,所述具备处理功能可以为具备CPU单元提供的处理功能;比如,可以为PC。
需要说明的是,所述测试环境用于表征当前所要进行测试的系统对应的环境,比如,可以为预发布环境、线上生产环境等等。
所述测试环境可以由开发人员进行预设,所述目标测试环境中包括有至少两组域名信息及其对应的地址信息;
关于测试环境的设置,可以包括:设置至少一个测试环境;针对每一个测试环境,设置对应的域名信息以及地址信息。其中,所述地址信息可以为互联网协议(IP)地址;所述域名信息为用于指示服务器的地址的HOST信息。
比如,可以参见图2,默认环境中可以设置两组域名以及IP地址;图中默认域名和实际域名为act.qq.com,对应的测试环境的IP地址可以如图中所示为172.27.77.25。还可以设置默认环境中包括有另一组域名以及IP地址,如图中所示域名为“dev.mange.events.qq.com”,对应的IP地址为“10.1.164.102”。关于设置域名可以设置有默认域名以及实际域名两个,通常情况下两个域名可以相同,也可以不同,本实施例中不再进行穷举。可以理解的是,上述域名设置以及IP地址的设置仅为示例,实际处理中可以有多种IP地址,本实施例的附图中不进行穷举。
基于所述目标测试环境确定目标域名信息以及目标地址信息,包括:
从目标测试环境中包括的至少两组域名信息及其对应的地址信息中选取一组域名信息以及地址信息;
将选取得到的域名信息以及地址信息作为目标域名信息以及所述目标地址信息。
这里需要说明的是,可以并行的从同一个测试环境中选取的多组域名信息及其对应的地址信息,进而将选取的多组域名信息以及地址信息用来构建多个测试请求,从而能够进行并行的测试处理,以提升测试效率。
具体来说,所述测试交互界面为至少能够提供测试用例和/或测试环境的选取的操作界面;测试交互界面中还可以预先设置有多个测试任务,每一个测试任务可以包括有至少一个测试用例。
开启测试交互功能,进入到测试交互界面之后,可以首先显示图3所示的界面,其中可以提示用户当前具备的多种测试任务,比如,具备有生成微信消息的任务、正式环境回归测试等几种,每一种测试任务中包括的测试用例数量也在图中示出,比如生成微信消息任务中包括有一个测试用例,而接口平台告警状态监控的测试任务中包括有28个测试用例。
还可以如图3所示,包括有每一个测试任务的执行次数,以及每一个测试任务的创建人以及上一次测试任务的执行人,均如图中所示,这里不再进行赘述。
进一步地,还可以在测试任务的选取界面中,提示优选测试环境,比如,参见图4,在图3的基础上针对每一个测试任务进行优选测试环境的提示,比如,正式环境回归测试的测试环境为线上测试等等。
在上述操作的基础上,下面针对本实施例中如何选取目标测试用例、以及如何选取目标测试环境进行具体说明:
所述基于选取的测试任务确定目标测试用例,包括:
通过测试交互界面至少展示测试任务及其包含的测试用例;检测到第一操作信息,解析所述第一操作信息确定选取的测试任务,并基于选取的测试任务确定目标测试用例;
相应的,所述从至少一个测试环境中选取得到目标测试环境,包括:
通过测试交互界面至少每一个测试用例对应的至少一个测试环境;检测到第二操作信息,解析所述第二操作信息确定选取的目标测试环境。
上述第一操作信息以及第二操作信息可以为点击操作,具体来说,当测试操作在PC上实现时,点击操作可以通过输入设备来实现,比如鼠标;当测试操作在具备触控显示功能的电子设备上时,点击操作可以通过触控检测单元来检测触控操作来实现。
也就是说,本实施例的测试交互界面中能够提供多个测试用例和/或多个测试环境,可以为基于网页(web)人机交互(UI)方式与用户进行交互的平台。
比如,可以根据当前所要执行的测试任务选取对应的测试用例以及测试环境,可以参见图5,通过电子设备的显示区域能够以web UI的形式提供默认环境、第一测试环境以及第二测试环境等多种环境;另外还能够提供六个测试用例,在一次操作中,可以选取第一测试用例进行作为目标测试用例,然后选取默认环境作为目标测试环境。
可以理解的是,图中仅给出示意测试用例的名称的示意,实际上,具体来说,所要执行的一个测试任务可以为“验证线上环境购买商品”、“支付功能是否正确”。参见图6,对应的测试任务中可以包括有两个测试用例,具体为查看商品列表用例、以及购买商品用例;另外,测试环境也可以如图中所示包括有默认环境、beta环境、线上,或者还可以如图中所示包括有以创建人命名的测试环境,比如程诚建立的测试环境、maxlong建立的测试环境等。
可见,通过采用上述方案,就能够仅选取目标测试用例以及目标测试环境,基于目标测试环境确定目标域名信息以及目标地址信息,即可自动生成目标域名信息以及目标地址信息对应的测试请求,然后发送测试请求至服务器侧并接收到服务器反馈的测试结果。如此,就能够通过选取测试环境中的目标域名信息以及目标地址信息,自动的构建测试请求,避免了手动的对测试请求进行构建而带来的无法快速切换测试环境的问题,并且由于避免了对测试环境对应的地址和/或域名进行解析的操作,所以能够进一步保证测试请求的生成效率;最后,由于采用上述方案至少不会增加硬件成本,所以保证不提高测试成本;
另外,由于不同的测试环境可以通过域名以及地址信息对应不同的服务器,所以能够同时发起多个针对不同测试环境的测试任务,从而达到节省硬件资源以及减少测试时长的效果。
此外,由于本实施例通过测试交互界面来进行操作,因此能够为用户提供更加直观的操作环境,提升用户的操作体验。
实施例二、
本发明实施例提供了一种测试方法,如图7所示,包括:
步骤701:选取目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;
步骤702:选取目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;
步骤703:获取到所述测试步骤中包含的第一类请求信息;所述第一类请求信息为超文本传输协议请求信息;
步骤704:基于所述目标域名信息以及所述目标地址信息,对所述第一类请求信息进行调整得到所述测试步骤对应的至少一个测试请求;
步骤705:发送测试请求至服务器侧,获取到所述服务器侧反馈的测试结果。
本实施例的执行主体可以为电子设备,具体的可以为具备处理功能的电子设备,所述具备处理功能可以为具备CPU单元提供的处理功能;比如,可以为PC。
需要说明的是,所述测试环境用于表征当前所要进行测试的系统所处的环境,比如,可以为预发布环境、线上生产环境等等。
所述测试环境可以由开发人员进行预设,所述目标测试环境中包括有至少两组域名信息及其对应的地址信息;
关于测试环境的设置,可以包括:设置至少一个测试环境;针对每一个测试环境,设置对应的域名信息以及地址信息。其中,所述地址信息可以为互联网协议(IP)地址;所述域名信息为用于指示服务器的地址的HOST信息。
比如,可以参见图2,默认环境中可以设置两组域名以及IP地址;图中默认域名和实际域名为act.qq.com,对应的测试环境的IP地址可以如图中所示为172.27.77.25。还可以设置默认环境中包括有另一组域名以及IP地址,如图中所示域名为“dev.mange.events.qq.com”,对应的IP地址为“10.1.164.102”。关于设置域名可以设置有默认域名以及实际域名两个,通常情况下两个域名可以相同,也可以不同,本实施例中不再进行穷举。可以理解的是,上述域名设置以及IP地址的设置仅为示例,实际处理中可以有多种IP地址,本实施例的附图中不进行穷举。
具体来说,所述测试交互界面为至少能够提供测试用例和/或测试环境的选取的操作界面;测试交互界面中还可以预先设置有多个测试任务,每一个测试任务可以包括有至少一个测试用例。开启测试交互界面之后,可以首先显示图3所示的界面,其中可以提示用户当前具备的多种测试任务,比如,具备有生成微信消息的任务、正式环境回归测试等几种,每一种测试任务中包括的测试用例数量也在图中示出,比如生成微信消息任务中包括有一个测试用例,而接口平台告警状态监控的测试任务中包括有28个测试用例。
基于图3所示,还可以进一步的包括有每一个测试任务的执行次数,以及每一个测试任务的创建人以及上一次测试任务的执行人,均如图中所示,这里不再进行赘述。
进一步地,还可以在测试任务的选取界面中,提示优选测试环境,比如,参见图4,在图3的基础上针对每一个测试任务进行优选测试环境的提示,比如,正式环境回归测试的测试环境为线上测试等等。
在上述操作的基础上,下面针对本实施例中如何选取目标测试用例、以及如何选取目标测试环境进行具体说明:
所述基于选取的测试任务确定目标测试用例,包括:
通过测试交互界面至少展示测试任务及其包含的测试用例;检测到第一操作信息,解析所述第一操作信息确定选取的测试任务,并基于选取的测试任务确定目标测试用例;
相应的,所述从至少一个测试环境中选取得到目标测试环境,包括:
通过测试交互界面至少每一个测试用例对应的至少一个测试环境;检测到第二操作信息,解析所述第二操作信息确定选取的目标测试环境。
上述第一操作信息以及第二操作信息可以为点击操作,具体来说,当测试操作在PC上实现时,点击操作可以通过输入设备来实现,比如鼠标;当测试操作在具备触控显示功能的电子设备上时,点击操作可以通过触控检测单元来检测触控操作来事件。
也就是说,本实施例的测试交互界面中能够提供多个测试用例和/或多个测试环境,可以为基于网页(web)人机交互(UI)方式与用户进行交互的平台。
比如,可以根据当前所要执行的测试任务选取对应的测试用例以及测试环境,可以参见图5,通过电子设备的显示区域能够以web UI的形式提供默认环境、第一测试环境以及第二测试环境等多种环境;另外还能够提供六个测试用例,在一次操作中,可以选取第一测试用例进行作为目标测试用例,然后选取默认环境作为目标测试环境。
可以理解的是,图中仅给出示意测试用例的名称的示意,实际上,具体来说,所要执行的一个测试任务可以为验证线上环境购买商品,支付功能是否正确。参见图6,对应的测试任务中可以包括有两个测试用例,具体为查看商品列表用例、以及购买商品用例;另外,测试环境也可以如图中所示包括有默认环境、beta环境、线上,或者还可以如图中所示包括有以创建人命名的测试环境,比如程诚建立的测试环境、maxlong建立的测试环境等。
在上述操作的基础上,本实施例还可以进一步提供构建测试请求的具体方式,如下:
所述基于所述目标域名信息以及所述目标地址信息,对所述第一类请求信息进行调整得到所述测试步骤对应的测试请求,包括:
将所述第一类请求信息中的原地址信息替换为所述目标地址信息;
将所述第一类请求信息的头信息中的域名信息替换为所述目标域名信息;
将替换有所述目标地址信息以及所述目标域名信息的第一类请求信息作为所述测试请求。
可以理解的是,测试用例中的测试步骤可以有多个,对应的第一类请求信息可以有多个,那么可以对多个第一类测试请求均执行替换目标地址信息以及目标域名信息的操作得到多个测试请求。
进一步地,当测试用例中存在多个测试步骤时,还可以设置每一个测试步骤的操作顺序,比如,参见图8,假设测试用例为“批量审核消息-审核不通过”,在该测试用例下,可以具备图右侧所示的6个测试步骤,每一个测试步骤均对应一个第一类请求信息,如图左侧所示为第一个测试步骤的名称为“获取所有活动列表”。其余的几个测试步骤的名称以及具体内容在此不进行详述。
另外,通过图8也可以看出图中具备headers和URL参数两种参数,这两种参数即为替换目标地址信息以及所述目标域名信息的位置,其设置可以为根据所选取的目标测试环境自动设置,比如,图8的场景中,选取的目标测试环境为“默认环境”。
在图8所示场景的基础上,最终电子设备中生成测试请求可以参见图9,超文本传输协议(http)请求即测试请求,测试请求的地址为包含IP的URL,然后处理http header,设置Host为对应host值也就是域名信息;具体的,可以如图9中所示程序中“sapiurl=‘http://{ServerRealIP}/weibo/send/mutil’”用于表示修改原有的servername中的URL为使用测试环境对应的服务器的真实IP地址;图9中“sheader=array(‘Host:{ServerName}’)”用于表示在Http头信息中设置服务器域名信息(servername)。
通过上述介绍,能够看出本实施例采用web ui方式对测试环境域名和IP对应关系进行分组管理,请求不同的测试环境只需要选择对应的环境名称,底层测试环境解析代码所述测试环境对应的域名和IP,根据环境名称对应的域名和IP构建测试请求,实际发送测试请求时url为测试环境对应的IP地址,并且在测试请求的http header中加上Host信息,也就是测试环境对应的域名。以实现不同测试场景下的被测环境的快速智能切换。
优选地,本实施例在接收到服务器侧反馈的测试结果之后,还可以执行针对反馈的测试结果进行校验的处理,比如,订单提交成功,会返回成功的标识;或者较为复杂的场景的测试反馈的测试结果中会包含有具体的信息,比如,图8中所示的步骤1对应的为获取活动列表,那么测试结果中可以包括有多个列表信息,那么具体的校验处理可以为针对列表信息的格式是否正确等校验,本实施例中不再进行穷举。
可见,通过采用上述方案,就能够仅选取目标测试用例以及目标测试环境,基于目标测试环境确定目标域名信息以及目标地址信息,即可自动生成目标域名信息以及目标地址信息对应的测试请求,然后发送测试请求至服务器侧并接收到服务器反馈的测试结果。如此,就能够通过选取测试环境中的目标域名信息以及目标地址信息,自动的构建测试请求,避免了手动的对测试请求进行构建而带来的无法快速切换测试环境的问题,并且由于避免了对测试环境对应的地址和/或域名进行解析的操作,所以能够进一步保证测试请求的生成效率;
另外,由于不同的测试环境可以通过域名以及地址信息对应不同的服务器,所以能够同时发起多个针对不同测试环境的测试任务,从而达到节省硬件资源以及减少测试时长的效果。
此外,由于本实施例能够通过测试交互界面来进行操作,能够为用户提供更加直观的操作环境,提升用户的操作体验。
实施例三、
下面结合图10、图11进一步说明本实施例提供的基于测试环境以及测试用例的选取实现测试的处理流程:
选取设置好用例的一个测试任务,如:验证线上环境购买商品,支付功能是否正确;具体来说,可以手动配置执行时间等参数;
任务开始执行时,根据任务的配置,读取测试任务中所包含的测试用例,如:查看商品列表用例,购买商品用例;
读取用例之后,解析得到所述测试用例中包含的测试步骤;需要说明的是,每一个测试用例中可以包括一个测试步骤、也可以包括多个测试步骤,另外,每一个测试步骤对应一个http请求;
然后基于选取的目标测试环境进行解析,得到环境数据,比如,可以包括有域名、IP地址,进一步地,如图10所示还可以包括有虚拟域名(vhost)等等信息;
然后基于解析得到的环境数据对每一个测试步骤的测试请求进行构建,比如,可以对域名以及cookie等进行设置,此外,还包括有设置IP、HOST以及其他数据参数等;其中,其他的参数可以为post参数,数据可以包括有每一种参数中具体的数据信息,比如,可以结合图8进行说明,其中post参数中包括有限制limit、偏移offset、格式format这几种数据,可以将limit显示为10次,格式设置为json格式等等。
另外,上述图10将测试请求发送到被测服务器可以为同时生产多个测试请求,发送给多个被测服务器,多个被测服务器为可遍历的。
在图10和图11的基础上,还可以参见图12,将测试请求至服务器侧之后,服务器进行的处理,包括:
服务器侧通过API接口接收到测试请求,将测试请求传递至解析层,对测试请求进行解析并基于测试请求进行测试,得到测试结果之后,服务器侧一方面上报至其内部的发送单元处另一方面进行测试结果的记录;进一步地,服务器可以通过多种方式将测试结果发送给电子设备,比如,可以通过在线通信软件rtx、邮件e-mail、短信sms、以及微信(Wechat)等方式。
需要指出的是,在本处理流程中,由于每个测试步骤的请求和响应都会记录到服务器的数据库,所以更加方便查找问题。
实施例四、
本发明实施例提供了一种测试方法,如图7所示,包括:
步骤701:选取目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;
步骤702:选取目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;
步骤703:获取到所述测试步骤中包含的第一类请求信息;所述第一类请求信息为超文本传输协议请求信息;
步骤704:基于所述目标域名信息以及所述目标地址信息,对所述第一类请求信息进行调整得到所述测试步骤对应的至少一个测试请求;
步骤705:发送测试请求至服务器侧,获取到所述服务器侧反馈的测试结果。
本实施例的执行主体可以为电子设备,具体的可以为具备处理功能的电子设备,所述具备处理功能可以为具备CPU单元提供的处理功能;比如,可以为PC。
需要说明的是,所述测试环境用于表征当前所要进行测试的系统所处的环境,比如,可以为预发布环境、线上生产环境等等。
所述测试环境可以由开发人员进行预设,关于测试环境的设置,可以包括:设置至少一个测试环境;针对每一个测试环境,设置对应的域名信息以及地址信息。其中,所述地址信息可以为互联网协议(IP)地址;所述域名信息为用于指示服务器的地址的信息,比如,可以参见图2,比如,默认环境中可以设置两个默认域名以及实际域名,还可以设置域名对应的实际IP地址,默认域名和实际域名为act.qq.com,对应的测试环境的IP地址可以如图中所示为172.27.77.25。可以理解的是,上述域名设置以及IP地址的设置仅为示例,实际处理中可以有多种IP地址,本实施例的附图中不进行穷举。
具体来说,所述测试交互界面为至少能够提供测试用例和/或测试环境的选取界面的交互平台;测试交互界面中还可以预先设置有多个测试任务,每一个测试任务可以包括有至少一个测试用例。开启测试交互界面之后,可以首先显示图3所示的界面,其中可以提示用户当前具备的多种测试任务,比如,具备有生成微信消息的任务、正式环境回归测试等几种,每一种测试任务中包括的测试用例数量也在图中示出,比如生成微信消息任务中包括有一个测试用例,而接口平台告警状态监控的测试任务中包括有28个测试用例。
基于图3所示,还可以进一步的包括有每一个测试任务的执行次数,以及每一个测试任务的创建人以及上一次测试任务的执行人,均如图中所示,这里不再进行赘述。
进一步地,还可以在测试任务的选取界面中,提示优选测试环境,比如,参见图4,在图3的基础上针对每一个测试任务进行优选测试环境的提示,比如,正式环境回归测试的测试环境为线上测试等等。
在上述操作的基础上,下面针对本实施例中如何选取目标测试用例、以及如何选取目标测试环境进行具体说明:
所述基于选取的测试任务确定目标测试用例,包括:
通过测试交互界面至少展示测试任务及其包含的测试用例;检测到第一操作信息,解析所述第一操作信息确定选取的测试任务,并基于选取的测试任务确定目标测试用例;
相应的,所述从至少一个测试环境中选取得到目标测试环境,包括:
通过测试交互界面至少每一个测试用例对应的至少一个测试环境;检测到第二操作信息,解析所述第二操作信息确定选取的目标测试环境。
上述第一操作信息以及第二操作信息可以为点击操作,具体来说,当测试操作在PC上实现时,点击操作可以通过输入设备来实现,比如鼠标;当测试操作在具备触控显示功能的电子设备上时,点击操作可以通过触控检测单元来检测触控操作来事件。
也就是说,本实施例的测试交互界面中能够提供多个测试用例和/或多个测试环境,可以为基于网页(web)人机交互(UI)方式与用户进行交互的平台。
比如,可以根据当前所要执行的测试任务选取对应的测试用例以及测试环境,可以参见图5,通过电子设备的显示区域能够以web UI的形式提供默认环境、第一测试环境以及第二测试环境等多种环境;另外还能够提供六个测试用例,在一次操作中,可以选取第一测试用例进行作为目标测试用例,然后选取默认环境作为目标测试环境。
在上述操作的基础上,本实施例还可以进一步提供构建测试请求的具体处理方式,如下:
所述基于所述目标域名信息以及所述目标地址信息,对所述第一类请求信息进行调整得到所述测试步骤对应的测试请求,包括:
将所述第一类请求信息中的原地址信息替换为所述目标地址信息;
将所述第一类请求信息的头信息中的域名信息替换为所述目标域名信息;
将替换有所述目标地址信息以及所述目标域名信息的第一类请求信息作为所述测试请求。
可以理解的是,测试用例中的测试步骤可以有多个,对应的第一类请求信息可以有多个,那么可以对多个第一类测试请求均执行替换目标地址信息以及目标域名信息的操作得到多个测试请求。
在上述场景基础上,本实施例进一步针对如何建立测试任务中的测试用例进行说明,可以包括有两种场景:
场景一、录制测试用例,基于录制的测试用例生成测试任务;
其中,录制测试用例具体如下:
所述方法还包括:与终端设备建立连接,从所述终端设备侧获取到请求信息;基于所述请求信息生成测试用例。
其中,所述基于所述请求信息生成测试用例,包括:对获取到的所述请求信息进行过滤得到第一类请求信息;其中,所述请求信息中至少包括有两类请求信息,第一类请求信息为超文本传输协议请求信息,第二类请求信息为除所述超文本传输协议请求信息外的其他类型的请求信息;基于所述第一类请求信息生成测试用例。
参见图13,进行请求的录制可以采用多种方式进行,比如,采用chrome插件进行请求信息的截取、通过代理服务器进行截取、或者可以预设请求拦截功能的插件,比如SDK进行过滤实现截取Http请求的效果;
采用包过滤功能进行请求信息的过滤,比如,上述第二类请求信息可以为ajax请求,也就是说,首先需要对采集到的多个请求进行过滤,将不是HTTP请求的其他请求全部删除;
通过图中的包处理单元从第一类请求信息中提取得到请求的参数信息,比如可以包括有post参数、url参数以及IP地址等;
将基于第一类测试请求分配智能生成至对应的测试任务中,然后对测试请求进行测试用例中的测试步骤的设置,比如,可以设置为单接口用例、或者设置为业务流程用例,还可以对测试任务进行接口平台的分配。
进一步地,将第一类请求信息设置为某一个测试用例或者作为某一个测试用例中的第一测试步骤,可以参见图14,进行请求信息对应的测试用例进行名称设置,可以设置为“第一测试用例”;然后自动的从第一类请求信息中提取并保存对应的请求地址,比如可以为“http;//admin.234.com/api/……”;请求方式可以为get以及参数等信息,参数信息可以包括有post参数、url参数等等。
场景二、
基于已有的测试用例进行复用,已有的测试用例可以如图15所示,通过列表的方式进行展示;
进行复用的方式可以为通过图15所示的测试用例列表点击某一个测试用例,比如选取“获取星标消息-审核通过”,将这个测试用例添加到测试任务“微博消息读取”中,可以直接点击该测试用例中“操作”中的编辑标识,也就是图中的铅笔样式的标识,通过点击到该编辑标识,可以设置将选中的测试用例添加到某一个测试任务中。从而实现测试用例的复用。
本实施例提供的接口自动化测试平台在人类一系列行为操作下,录制回放浏览器对服务器的http请求,从而模拟人类行为,最终达到代替人工的目的,节省人力成本。另外,本实施例提供的方案可应用于互联网web和app产品的后端接口测试,通过对后端接口测试用例的自动化,从而在快速敏捷开发过程中快速保证产品质量,并节省人力资源,提高测试效率。
可以理解的是,本实施例提供的方案还可以运用于机器人操作,通过将人类行为的录入,将流程加载到机器人身上,从而控制机器人模仿人类行为。具体实现,可以将人类某一个行为作为一个测试任务,将该测试任务划分为多个测试用例,对每一个测试用例进行多步骤的设置;需要机器人模仿某一个人类行为时,可以选取该测试任务,然后直接执行,机器人就可以实现模仿人类行为的效果。
可见,通过采用上述方案,就能够仅选取目标测试用例以及目标测试环境,基于目标测试环境确定目标域名信息以及目标地址信息,即可自动生成目标域名信息以及目标地址信息对应的测试请求,然后发送测试请求至服务器侧并接收到服务器反馈的测试结果。如此,就能够通过选取测试环境中的目标域名信息以及目标地址信息,自动的构建测试请求,避免了手动的对测试请求进行构建而带来的无法快速切换测试环境的问题,并且由于避免了对测试环境对应的地址和/或域名进行解析的操作,所以能够进一步保证测试请求的生成效率;另外,由于不同的测试环境可以通过域名以及地址信息对应不同的服务器,所以能够同时发起多个针对不同测试环境的测试任务,从而达到节省硬件资源以及减少测试时长的效果。
此外,由于本实施例能够通过测试交互界面来进行操作,能够为用户提供更加直观的操作环境,提升用户的操作体验。进一步的,采用Web UI界面的方案进行测试用例的展示,通过录制http请求自动生成测试用例。同时可以在界面上选择加载用例,实现用例的复用。
另外,本实施例还能够通过录制自动生成测试用例,降低测试用例开发门槛;同时支持任意web项目自动化开发,与特定项目相剥离,平台可重用。进而,由于测试用例的复用,使得达到节省代码自动化开发时间,底层操作共用,不需要写冗余代码的效果。
实施例五、
本发明实施例提供了一种电子设备,如图16所示,该电子设备包括:
测试信息管理单元1601,用于基于选取的测试任务确定目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;以及从至少一个测试环境中选取得到目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;
处理单元1602,用于基于所述目标域名信息以及所述目标地址信息,构建所述测试步骤对应的测试请求;
第一通信单元1603,用于发送测试请求至对应的服务器,获取到所述服务器侧反馈的测试结果。
本实施例的执行主体可以为电子设备,具体的可以为具备处理功能的电子设备,所述具备处理功能可以为具备CPU单元提供的处理功能;比如,可以为PC。
需要说明的是,所述测试环境用于表征当前所要进行测试的系统所处的环境,比如,可以为预发布环境、线上生产环境等等。
所述目标测试环境中包括有至少两组域名信息及其对应的地址信息;
相应的,所述测试信息管理单元,用于从目标测试环境中包括的至少两组域名信息及其对应的地址信息中选取一组域名信息以及地址信息;将选取得到的域名信息以及地址信息作为目标域名信息以及所述目标地址信息。
所述测试环境可以由开发人员进行预设,关于测试环境的设置,可以包括:设置至少一个测试环境;针对每一个测试环境,设置对应的域名信息以及地址信息。其中,所述地址信息可以为互联网协议(IP)地址;所述域名信息为用于指示服务器的地址的信息,比如,可以参见图2,比如,默认环境中可以设置两个默认域名以及实际域名,还可以设置域名对应的实际IP地址,默认域名和实际域名为act.qq.com,对应的测试环境的IP地址可以如图中所示为172.27.77.25。可以理解的是,上述域名设置以及IP地址的设置仅为示例,实际处理中可以有多种IP地址,本实施例的附图中不进行穷举。
具体来说,所述测试交互界面为至少能够提供测试用例和/或测试环境的选取界面的交互平台;测试交互界面中还可以预先设置有多个测试任务,每一个测试任务可以包括有至少一个测试用例。开启测试交互界面之后,可以首先显示图3所示的界面,其中可以提示用户当前具备的多种测试任务,比如,具备有生成微信消息的任务、正式环境回归测试等几种,每一种测试任务中包括的测试用例数量也在图中示出,比如生成微信消息任务中包括有一个测试用例,而接口平台告警状态监控的测试任务中包括有28个测试用例。
基于图3所示,还可以进一步的包括有每一个测试任务的执行次数,以及每一个测试任务的创建人以及上一次测试任务的执行人,均如图中所示,这里不再进行赘述。
进一步地,还可以在测试任务的选取界面中,提示优选测试环境,比如,参见图4,在图3的基础上针对每一个测试任务进行优选测试环境的提示,比如,正式环境回归测试的测试环境为线上测试等等。
在上述操作的基础上,下面针对本实施例中如何选取目标测试用例、以及如何选取目标测试环境进行具体说明:
所述电子设备还包括:交互单元1604,用于通过测试交互界面至少展示测试任务及其包含的测试用例;以及通过测试交互界面至少每一个测试用例对应的至少一个测试环境;相应的,测试信息管理单元,用于检测到第一操作信息,解析所述第一操作信息确定选取的测试任务,并基于选取的测试任务确定目标测试用例;检测到第二操作信息,解析所述第二操作信息确定选取的目标测试环境。
上述第一操作信息以及第二操作信息可以为点击操作,具体来说,当测试操作在PC上实现时,点击操作可以通过输入设备来实现,比如鼠标;当测试操作在具备触控显示功能的电子设备上时,点击操作可以通过触控检测单元来检测触控操作来事件。
也就是说,本实施例的测试交互界面中能够提供多个测试用例和/或多个测试环境,可以为基于网页(web)人机交互(UI)方式与用户进行交互的平台。
比如,可以根据当前所要执行的测试任务选取对应的测试用例以及测试环境,可以参见图5,通过电子设备的显示区域能够以web UI的形式提供默认环境、第一测试环境以及第二测试环境等多种环境;另外还能够提供六个测试用例,在一次操作中,可以选取第一测试用例进行作为目标测试用例,然后选取默认环境作为目标测试环境。
可以理解的是,图中仅给出示意测试用例的名称的示意,实际上,具体来说,所要执行的一个测试任务可以为验证线上环境购买商品,支付功能是否正确。参见图6,对应的测试任务中可以包括有两个测试用例,具体为查看商品列表用例、以及购买商品用例;另外,测试环境也可以如图中所示包括有默认环境、beta环境、线上,或者还可以如图中所示包括有以创建人命名的测试环境,比如程诚建立的测试环境、maxlong建立的测试环境等。
可见,通过采用上述方案,就能够仅选取目标测试用例以及目标测试环境,基于目标测试环境确定目标域名信息以及目标地址信息,即可自动生成目标域名信息以及目标地址信息对应的测试请求,然后发送测试请求至服务器侧并接收到服务器反馈的测试结果。如此,就能够通过选取测试环境中的目标域名信息以及目标地址信息,自动的构建测试请求,避免了手动的对测试请求进行构建而带来的无法快速切换测试环境的问题,并且由于避免了对测试环境对应的地址和/或域名进行解析的操作,所以能够进一步保证测试请求的生成效率;另外,由于不同的测试环境可以通过域名以及地址信息对应不同的服务器,所以能够同时发起多个针对不同测试环境的测试任务,从而达到节省硬件资源以及减少测试时长的效果。
此外,由于本实施例能够通过测试交互界面来进行操作,能够为用户提供更加直观的操作环境,提升用户的操作体验。
实施例六、
本发明实施例提供了一种电子设备,如图16所示,该电子设备包括:
测试信息管理单元1601,用于基于选取的测试任务确定目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;以及从至少一个测试环境中选取得到目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;
处理单元1602,用于基于所述目标域名信息以及所述目标地址信息,构建所述测试步骤对应的测试请求;
第一通信单元1603,用于发送测试请求至对应的服务器,获取到所述服务器侧反馈的测试结果。
所述处理单元,用于获取到所述测试步骤中包含的第一类请求信息;所述第一类请求信息为超文本传输协议请求信息;基于所述目标域名信息以及所述目标地址信息,对所述第一类请求信息进行调整得到所述测试步骤对应的至少一个测试请求。
本实施例的执行主体可以为电子设备,具体的可以为具备处理功能的电子设备,所述具备处理功能可以为具备CPU单元提供的处理功能;比如,可以为PC。
需要说明的是,所述测试环境用于表征当前所要进行测试的系统所处的环境,比如,可以为预发布环境、线上生产环境等等。
所述测试环境可以由开发人员进行预设,关于测试环境的设置,可以包括:设置至少一个测试环境;针对每一个测试环境,设置对应的域名信息以及地址信息。其中,所述地址信息可以为互联网协议(IP)地址;所述域名信息为用于指示服务器的地址的信息,比如,可以参见图2,比如,默认环境中可以设置两个默认域名以及实际域名,还可以设置域名对应的实际IP地址,默认域名和实际域名为act.qq.com,对应的测试环境的IP地址可以如图中所示为172.27.77.25。可以理解的是,上述域名设置以及IP地址的设置仅为示例,实际处理中可以有多种IP地址,本实施例的附图中不进行穷举。
具体来说,所述测试交互界面为至少能够提供测试用例和/或测试环境的选取界面的交互平台;测试交互界面中还可以预先设置有多个测试任务,每一个测试任务可以包括有至少一个测试用例。开启测试交互界面之后,可以首先显示图3所示的界面,其中可以提示用户当前具备的多种测试任务,比如,具备有生成微信消息的任务、正式环境回归测试等几种,每一种测试任务中包括的测试用例数量也在图中示出,比如生成微信消息任务中包括有一个测试用例,而接口平台告警状态监控的测试任务中包括有28个测试用例。
基于图3所示,还可以进一步的包括有每一个测试任务的执行次数,以及每一个测试任务的创建人以及上一次测试任务的执行人,均如图中所示,这里不再进行赘述。
进一步地,还可以在测试任务的选取界面中,提示优选测试环境,比如,参见图4,在图3的基础上针对每一个测试任务进行优选测试环境的提示,比如,正式环境回归测试的测试环境为线上测试等等。
在上述操作的基础上,下面针对本实施例中如何选取目标测试用例、以及如何选取目标测试环境进行具体说明:
所述电子设备还包括:
交互单元,用于通过测试交互界面至少展示测试任务及其包含的测试用例;以及通过测试交互界面至少每一个测试用例对应的至少一个测试环境;
相应的,测试信息管理单元,用于检测到第一操作信息,解析所述第一操作信息确定选取的测试任务,并基于选取的测试任务确定目标测试用例;检测到第二操作信息,解析所述第二操作信息确定选取的目标测试环境。
上述第一操作信息以及第二操作信息可以为点击操作,具体来说,当测试操作在PC上实现时,点击操作可以通过输入设备来实现,比如鼠标;当测试操作在具备触控显示功能的电子设备上时,点击操作可以通过触控检测单元来检测触控操作来事件。
也就是说,本实施例的测试交互界面中能够提供多个测试用例和/或多个测试环境,可以为基于网页(web)人机交互(UI)方式与用户进行交互的平台。
比如,可以根据当前所要执行的测试任务选取对应的测试用例以及测试环境,可以参见图5,通过电子设备的显示区域能够以web UI的形式提供默认环境、第一测试环境以及第二测试环境等多种环境;另外还能够提供六个测试用例,在一次操作中,可以选取第一测试用例进行作为目标测试用例,然后选取默认环境作为目标测试环境。
可以理解的是,图中仅给出示意测试用例的名称的示意,实际上,具体来说,所要执行的一个测试任务可以为验证线上环境购买商品,支付功能是否正确。参见图6,对应的测试任务中可以包括有两个测试用例,具体为查看商品列表用例、以及购买商品用例;另外,测试环境也可以如图中所示包括有默认环境、beta环境、线上,或者还可以如图中所示包括有以创建人命名的测试环境,比如程诚建立的测试环境、maxlong建立的测试环境等。
在上述操作的基础上,本实施例还可以进一步提供构建测试请求的具体处理方式,如下:
所述处理单元,用于将所述第一类请求信息中的原地址信息替换为所述目标地址信息;将所述第一类请求信息的头信息中的域名信息替换为所述目标域名信息;将替换有所述目标地址信息以及所述目标域名信息的第一类请求信息作为所述测试请求。可以理解的是,测试用例中的测试步骤可以有多个,对应的第一类请求信息可以有多个,那么可以对多个第一类测试请求均执行替换目标地址信息以及目标域名信息的操作得到多个测试请求。
进一步地,当测试用例中存在多个测试步骤时,还可以设置每一个测试步骤的操作顺序,比如,参见图8,假设测试用例为“批量审核消息-审核不通过”,在该测试用例下,可以具备图右侧所示的6个测试步骤,每一个测试步骤均对应一个第一类请求信息,如图左侧所示为第一个测试步骤的名称为“获取所有活动列表”。其余的几个测试步骤的名称以及具体内容在此不进行详述。
另外,通过图8也可以看出图中具备headers和URL参数两种参数,这两种参数即为替换目标地址信息以及所述目标域名信息的位置,其设置可以为根据所选取的目标测试环境自动设置,比如,图8的场景中,选取的目标测试环境为“默认环境”。
在图8所示场景的基础上,最终电子设备中生成测试请求可以参见图9,超文本传输协议(http)请求即测试请求,测试请求的地址为包含IP的URL,然后处理http header,设置Host为对应host值也就是域名信息;具体的,可以如图9中所示程序中“sapiurl=”http://{ServerRealIP}/weibo/send/mutil””用于表示修改原有的servername中的URL,使用测试环境对应的服务器的真实IP地址;图9中“sheader=array(‘Host:{ServerName}’)”用于表示在Http头信息中设置服务器主机地址,也就是域名信息。
通过上述介绍,能够看出本实施例采用web ui方式对测试环境域名和IP对应关系进行分组管理,请求不同的测试环境只需要选择对应的环境名称,底层测试环境解析代码所述测试环境对应的域名和IP,根据环境名称对应的域名和IP构建测试请求,实际发送测试请求时url为测试环境对应的IP地址,并且在测试请求的http header中加上Host信息,也就是测试环境对应的域名。以实现不同测试场景下的被测环境的快速智能切换。
优选地,本实施例在接收到服务器侧反馈的测试结果之后,还可以执行针对反馈的测试结果进行校验的处理,比如,订单提交成功,会返回成功的标识;或者较为复杂的场景的测试反馈的测试结果中会包含有具体的信息,比如,图8中所示的步骤1对应的为获取活动列表,那么测试结果中可以包括有多个列表信息,那么具体的校验处理可以为针对列表信息的格式是否正确等校验,本实施例中不再进行穷举。
可见,通过采用上述方案,就能够仅选取目标测试用例以及目标测试环境,基于目标测试环境确定目标域名信息以及目标地址信息,即可自动生成目标域名信息以及目标地址信息对应的测试请求,然后发送测试请求至服务器侧并接收到服务器反馈的测试结果。如此,就能够通过选取测试环境中的目标域名信息以及目标地址信息,自动的构建测试请求,避免了手动的对测试请求进行构建而带来的无法快速切换测试环境的问题,并且由于避免了对测试环境对应的地址和/或域名进行解析的操作,所以能够进一步保证测试请求的生成效率;另外,由于不同的测试环境可以通过域名以及地址信息对应不同的服务器,所以能够同时发起多个针对不同测试环境的测试任务,从而达到节省硬件资源以及减少测试时长的效果。
此外,由于本实施例能够通过测试交互界面来进行操作,能够为用户提供更加直观的操作环境,提升用户的操作体验。
实施例七、
本发明实施例提供了一种电子设备,如图16所示,该电子设备包括:
测试信息管理单元1601,用于基于选取的测试任务确定目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;以及从至少一个测试环境中选取得到目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;
处理单元1602,用于基于所述目标域名信息以及所述目标地址信息,构建所述测试步骤对应的测试请求;
第一通信单元1603,用于发送测试请求至对应的服务器,获取到所述服务器侧反馈的测试结果。
所述处理单元,用于获取到所述测试步骤中包含的第一类请求信息;所述第一类请求信息为超文本传输协议请求信息;基于所述目标域名信息以及所述目标地址信息,对所述第一类请求信息进行调整得到所述测试步骤对应的至少一个测试请求。
本实施例的执行主体可以为电子设备,具体的可以为具备处理功能的电子设备,所述具备处理功能可以为具备CPU单元提供的处理功能;比如,可以为PC。
需要说明的是,所述测试环境用于表征当前所要进行测试的系统所处的环境,比如,可以为预发布环境、线上生产环境等等。
所述测试环境可以由开发人员进行预设,关于测试环境的设置,可以包括:设置至少一个测试环境;针对每一个测试环境,设置对应的域名信息以及地址信息。其中,所述地址信息可以为互联网协议(IP)地址;所述域名信息为用于指示服务器的地址的信息,比如,可以参见图2,比如,默认环境中可以设置两个默认域名以及实际域名,还可以设置域名对应的实际IP地址,默认域名和实际域名为act.qq.com,对应的测试环境的IP地址可以如图中所示为172.27.77.25。可以理解的是,上述域名设置以及IP地址的设置仅为示例,实际处理中可以有多种IP地址,本实施例的附图中不进行穷举。
具体来说,所述测试交互界面为至少能够提供测试用例和/或测试环境的选取界面的交互平台;测试交互界面中还可以预先设置有多个测试任务,每一个测试任务可以包括有至少一个测试用例。开启测试交互界面之后,可以首先显示图3所示的界面,其中可以提示用户当前具备的多种测试任务,比如,具备有生成微信消息的任务、正式环境回归测试等几种,每一种测试任务中包括的测试用例数量也在图中示出,比如生成微信消息任务中包括有一个测试用例,而接口平台告警状态监控的测试任务中包括有28个测试用例。
基于图3所示,还可以进一步的包括有每一个测试任务的执行次数,以及每一个测试任务的创建人以及上一次测试任务的执行人,均如图中所示,这里不再进行赘述。
进一步地,还可以在测试任务的选取界面中,提示优选测试环境,比如,参见图4,在图3的基础上针对每一个测试任务进行优选测试环境的提示,比如,正式环境回归测试的测试环境为线上测试等等。
在上述操作的基础上,下面针对本实施例中如何选取目标测试用例、以及如何选取目标测试环境进行具体说明:
所述电子设备还包括:
交互单元1604,用于通过测试交互界面至少展示测试任务及其包含的测试用例;以及通过测试交互界面至少每一个测试用例对应的至少一个测试环境;
相应的,测试信息管理单元,用于检测到第一操作信息,解析所述第一操作信息确定选取的测试任务,并基于选取的测试任务确定目标测试用例;检测到第二操作信息,解析所述第二操作信息确定选取的目标测试环境。
上述第一操作信息以及第二操作信息可以为点击操作,具体来说,当测试操作在PC上实现时,点击操作可以通过输入设备来实现,比如鼠标;当测试操作在具备触控显示功能的电子设备上时,点击操作可以通过触控检测单元来检测触控操作来事件。
也就是说,本实施例的测试交互界面中能够提供多个测试用例和/或多个测试环境,可以为基于网页(web)人机交互(UI)方式与用户进行交互的平台。
比如,可以根据当前所要执行的测试任务选取对应的测试用例以及测试环境,可以参见图5,通过电子设备的显示区域能够以web UI的形式提供默认环境、第一测试环境以及第二测试环境等多种环境;另外还能够提供六个测试用例,在一次操作中,可以选取第一测试用例进行作为目标测试用例,然后选取默认环境作为目标测试环境。
在上述操作的基础上,本实施例还可以进一步提供构建测试请求的具体处理方式,如下:
所述处理单元,用于获取到所述测试步骤中包含的第一类请求信息;所述第一类请求信息为超文本传输协议请求信息;基于所述目标域名信息以及所述目标地址信息,对所述第一类请求信息进行调整得到所述测试步骤对应的至少一个测试请求。
所述处理单元,用于将所述第一类请求信息中的原地址信息替换为所述目标地址信息;将所述第一类请求信息的头信息中的域名信息替换为所述目标域名信息;将替换有所述目标地址信息以及所述目标域名信息的第一类请求信息作为所述测试请求。
可以理解的是,测试用例中的测试步骤可以有多个,对应的第一类请求信息可以有多个,那么可以对多个第一类测试请求均执行替换目标地址信息以及目标域名信息的操作得到多个测试请求。
在上述场景基础上,本实施例进一步针对如何建立测试任务中的测试用例进行说明,可以包括有两种场景:
场景一、录制测试用例,基于录制的测试用例生成测试任务;
其中,录制测试用例具体如下:
在图16的基础之上,如图17所示,所述电子设备还包括:
第二通信单元1605,用于与终端设备建立连接,从所述终端设备侧获取到请求信息;相应的,所述测试信息管理单元,用于基于所述请求信息生成测试用例。
其中,所述测试信息管理单元,用于对获取到的所述请求信息进行过滤得到第一类请求信息;其中,所述请求信息中至少包括有两类请求信息,第一类请求信息为超文本传输协议请求信息,第二类请求信息为除所述超文本传输协议请求信息外的其他类型的请求信息;基于所述第一类请求信息生成测试用例。
参见图13,进行请求的录制可以采用多种方式能够会进行,比如,采用chrome插件进行截取、通过代理服务器进行截取、或者可以预设请求拦截功能的插件。
然后采用包过滤功能进行请求信息的过滤,比如,上述第二类请求信息可以为ajax请求,也就是说,首先需要对采集到的多个请求进行过滤,将不是HTTP请求的其他请求全部删除。
然后通过图中的包处理单元从第一类请求信息中提取得到请求的参数信息,比如可以包括有post参数、url参数以及IP地址等。
然后将第一类测试请求分配至对应的测试任务中,然后对测试请求进行测试用例中的测试步骤的设置,比如,可以设置为单接口用例、或者设置为业务流程用例。
进一步地,将第一类请求信息设置为某一个测试用例或者作为某一个测试用例中的第一测试步骤,可以参见图14,进行请求信息对应的测试用例进行名称设置、然后自动的从第一类请求信息中提取并保存对应的请求地址、请求方式以及参数等信息。
场景二、
基于已有的测试用例进行复用,已有的测试用例可以如图15所示,通过列表的方式进行展示;进行复用的方式可以为通过图15所示的测试用例列表点击某一个测试用例,比如选取“获取星标消息-审核通过”,将这个测试用例添加到测试任务“微博消息读取”中,可以直接点击该测试用例中“操作”中的编辑标识,也就是图中的铅笔样式的标识,通过点击到该编辑标识,可以设置将选中的测试用例添加到某一个测试任务中。从而实现测试用例的复用。
本实施例提供的接口自动化测试平台在人类一系列行为操作下,录制回放浏览器对服务器的http请求,从而模拟人类行为,最终达到代替人工的目的,节省人力成本。另外,本实施例提供的方案可应用于互联网web和app产品的后端接口测试,通过对后端接口测试用例的自动化,从而在快速敏捷开发过程中快速保证产品质量,并节省人力资源,提高测试效率。
可以理解的是,本实施例提供的方案还可以运用于机器人操作,通过将人类行为的录入,将流程加载到机器人身上,从而控制机器人模仿人类行为。具体实现,可以将人类某一个行为作为一个测试任务,将该测试任务划分为多个测试用例,对每一个测试用例进行多步骤的设置,然后需要机器人模仿某一个人类行为时,可以选取该测试任务,然后直接执行,机器人就可以实现模仿人类行为的效果。
可见,通过采用上述方案,就能够仅选取目标测试用例以及目标测试环境,基于目标测试环境确定目标域名信息以及目标地址信息,即可自动生成目标域名信息以及目标地址信息对应的测试请求,然后发送测试请求至服务器侧并接收到服务器反馈的测试结果。如此,就能够通过选取测试环境中的目标域名信息以及目标地址信息,自动的构建测试请求,避免了手动的对测试请求进行构建而带来的无法快速切换测试环境的问题,并且由于避免了对测试环境对应的地址和/或域名进行解析的操作,所以能够进一步保证测试请求的生成效率;另外,由于不同的测试环境可以通过域名以及地址信息对应不同的服务器,所以能够同时发起多个针对不同测试环境的测试任务,从而达到节省硬件资源以及减少测试时长的效果。
此外,由于本实施例能够通过测试交互界面来进行操作,能够为用户提供更加直观的操作环境,提升用户的操作体验。进一步的,采用Web UI界面的方案进行测试用例的展示,通过录制http请求自动生成测试用例。同时可以在界面上选择加载用例,实现用例的复用。
另外,本实施例还能够通过录制自动生成测试用例,降低测试用例开发门槛;同时支持任意web项目自动化开发,与特定项目相剥离,平台可重用。进而,由于测试用例的复用,使得达到节省代码自动化开发时间,底层操作共用,不需要写冗余代码的效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
基于上述设备实施例提供一个具体的硬件,如图18所示,所述装置包括处理器、存储介质以及至少一个外部通信接口;所述处理器、存储介质以及外部通信接口均通过总线连接。所述处理器可为微处理器、中央处理器、数字信号处理器或可编程逻辑阵列等具有处理功能的电子元器件。所述存储介质中存储有计算机可执行代码。
所述处理器执行所述计算机可执行代码时,至少能实现以下功能:基于选取的测试任务确定目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;从至少一个测试环境中选取得到目标测试环境,根据所述目标测试环境确定目标域名信息以及目标地址信息;基于所述目标域名信息以及所述目标地址信息,构建所述测试步骤对应的测试请求;发送测试请求至所述目标测试环境所对应的服务器,获取到所述服务器侧反馈的测试结果。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (5)

1.一种测试方法,其特征在于,用于对服务器侧接口的测试,该方法包括:
录制测试用例,基于录制的测试用例生成测试任务;
设置至少一个测试环境,针对每一个测试环境设置对应的至少两组域名信息及其对应的地址信息;
基于选取的测试任务确定目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤;所述选取的测试任务包括多个针对不同测试环境的测试任务;每个所述测试步骤对应一个第一类请求信息,所述第一类请求信息为超文本传输协议请求信息;
从至少一个测试环境中选取得到每个测试步骤对应的目标测试环境;
并行的从所述目标测试环境中选取多组域名信息及其对应的地址信息,将选取得到的多组域名信息以及地址信息作为相应测试步骤对应的目标域名信息以及目标地址信息;
获取每个测试步骤中包含的所述第一类请求信息;
将所述第一类请求信息的URL参数中的原地址信息替换为相应测试步骤的所述目标地址信息;
将所述第一类请求信息的头信息中的域名信息替换为相应测试步骤的所述目标域名信息;
将替换有所述目标地址信息以及所述目标域名信息的第一类请求信息作为相应测试步骤的测试请求,得到每个测试步骤对应的多个测试请求;
同时发送所述多个测试请求至对应的多个被测服务器侧接口,获取到所述多个被测服务器侧反馈的测试结果;
其中,所述录制测试用例包括:
与终端设备建立连接,从所述终端设备侧获取到请求信息;
对获取到的所述请求信息进行过滤得到所述第一类请求信息;
从所述第一类请求信息中提取并保存对应的请求地址、请求方式和参数信息,得到测试用例中对应所述第一类请求信息的测试步骤,所述参数信息包括post参数、url参数。
2.根据权利要求1所述的方法,其特征在于,所述基于选取的测试任务确定目标测试用例,包括:
通过测试交互界面至少展示测试任务及其包含的测试用例;其中,所述测试交互界面为至少能够提供测试用例和/或测试环境的选取的操作界面;
检测到第一操作信息,解析所述第一操作信息确定选取的测试任务,并基于选取的测试任务确定目标测试用例;
相应的,所述从至少一个测试环境中选取得到每个测试步骤对应的目标测试环境,包括:
通过测试交互界面展示至少每一个测试用例对应的至少一个测试环境;
检测到第二操作信息,解析所述第二操作信息确定选取的目标测试环境。
3.一种电子设备,其特征在于,用于对服务器侧接口的测试,该电子设备包括:
第二通信单元,用于与终端设备建立连接,从所述终端设备侧获取到请求信息;
测试信息管理单元,用于对获取到的所述请求信息进行过滤得到第一类请求信息;从所述第一类请求信息中提取并保存对应的请求地址、请求方式和参数信息,得到测试用例中对应所述第一类请求信息的测试步骤,所述参数信息包括post参数、url参数;基于录制的测试用例生成测试任务;
所述测试信息管理单元,还用于设置至少一个测试环境,针对每一个测试环境设置对应的至少两组域名信息及其对应的地址信息;基于选取的测试任务确定目标测试用例,根据所述目标测试用例确定对应的至少一个测试步骤,所述选取的测试任务包括多个针对不同测试环境的测试任务,每个所述测试步骤对应一个第一类请求信息,所述第一类请求信息为超文本传输协议请求信息;以及从至少一个测试环境中选取得到每个测试步骤对应的目标测试环境,并行的从所述目标测试环境中选取多组域名信息及其对应的地址信息,将选取得到的多组域名信息以及地址信息作为相应测试步骤对应的目标域名信息以及目标地址信息;
处理单元,用于获取每个测试步骤中包含的所述第一类请求信息;将所述第一类请求信息的URL参数中的原地址信息替换为相应测试步骤的所述目标地址信息;将所述第一类请求信息的头信息中的域名信息替换为相应测试步骤的所述目标域名信息;将替换有所述目标地址信息以及所述目标域名信息的第一类请求信息作为相应测试步骤的测试请求,得到每个测试步骤对应的多个测试请求;
第一通信单元,用于同时发送所述多个测试请求至对应的多个被测服务器侧接口,获取到所述多个被测服务器侧反馈的测试结果。
4.根据权利要求3所述的电子设备,其特征在于,所述电子设备还包括:
交互单元,用于通过测试交互界面至少展示测试任务及其包含的测试用例;以及通过测试交互界面展示至少每一个测试用例对应的至少一个测试环境;其中,所述测试交互界面为至少能够提供测试用例和/或测试环境的选取的操作界面;
相应的,测试信息管理单元,用于检测到第一操作信息,解析所述第一操作信息确定选取的测试任务,并基于选取的测试任务确定目标测试用例;检测到第二操作信息,解析所述第二操作信息确定选取的目标测试环境。
5.一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1~2任一项所述的测试方法。
CN201610342032.9A 2016-05-20 2016-05-20 一种测试方法及电子设备 Active CN107402880B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610342032.9A CN107402880B (zh) 2016-05-20 2016-05-20 一种测试方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610342032.9A CN107402880B (zh) 2016-05-20 2016-05-20 一种测试方法及电子设备

Publications (2)

Publication Number Publication Date
CN107402880A CN107402880A (zh) 2017-11-28
CN107402880B true CN107402880B (zh) 2020-10-16

Family

ID=60389116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610342032.9A Active CN107402880B (zh) 2016-05-20 2016-05-20 一种测试方法及电子设备

Country Status (1)

Country Link
CN (1) CN107402880B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108521444B (zh) * 2018-03-19 2022-05-31 五八有限公司 一种网络调试方法、装置及计算机可读存储介质
CN108536604B (zh) * 2018-04-19 2021-05-25 北京奇安信科技有限公司 一种测试web页面响应时间的方法及终端
CN109062803B (zh) * 2018-08-15 2022-03-11 杭州安恒信息技术股份有限公司 基于爬虫实现自动生成测试用例的方法和装置
CN110858173A (zh) * 2018-08-23 2020-03-03 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
CN109327354B (zh) * 2018-09-30 2020-09-25 北京新能源汽车股份有限公司 一种生成信号转发测试用例的方法、装置及测试系统
CN111221718A (zh) * 2018-11-23 2020-06-02 鸿合科技股份有限公司 一种接口测试方法和装置
CN109634866A (zh) * 2018-12-14 2019-04-16 泰康保险集团股份有限公司 数据测试方法、装置、介质及电子设备
CN109656829A (zh) * 2018-12-24 2019-04-19 西安四叶草信息技术有限公司 基于docker的测试方法及装置
CN109726134B (zh) * 2019-01-16 2023-02-07 中国平安财产保险股份有限公司 接口测试方法和系统
CN110149423B (zh) * 2019-07-04 2022-07-22 深圳市珍爱捷云信息技术有限公司 域名处理方法、装置、可读存储介质及电子设备
CN110928798A (zh) * 2019-11-30 2020-03-27 苏州浪潮智能科技有限公司 一种代码测试方法、装置及设备
CN111078557B (zh) * 2019-12-16 2023-06-13 广州品唯软件有限公司 测试目标的ip地址获取方法、装置及存储介质
CN111131436B (zh) * 2019-12-20 2022-08-30 广州品唯软件有限公司 快速查找代理方法、装置和可读存储介质
CN111221572B (zh) * 2020-01-13 2023-09-01 北京字节跳动网络技术有限公司 一种自动适配运行环境的方法、装置、介质和设备
CN111343294A (zh) * 2020-02-14 2020-06-26 京东数字科技控股有限公司 网络环境切换方法、装置、设备及计算机可读存储介质
CN111447299A (zh) * 2020-03-25 2020-07-24 中国工商银行股份有限公司 一种基于测试环境台账的dns解析方法及系统
CN113965543B (zh) * 2020-07-03 2024-01-16 深圳市腾讯网域计算机网络有限公司 一种应用服务器的访问方法、装置及存储介质
CN112181802A (zh) * 2020-08-21 2021-01-05 长沙市到家悠享网络科技有限公司 测试方法及装置
CN112118241B (zh) * 2020-09-08 2022-11-01 上海谋乐网络科技有限公司 审计渗透测试方法、测试节点服务器、管理服务器及系统
CN112532473B (zh) * 2020-11-12 2023-09-01 苏宁金融科技(南京)有限公司 基于dns的多环境测试访问方法及装置
CN112506786B (zh) * 2020-12-15 2022-04-19 西安中朗智控科技有限公司 一种回归测试方法和回归测试装置
CN112817874A (zh) * 2021-03-02 2021-05-18 北京字节跳动网络技术有限公司 一种用户界面的测试方法、装置、设备及介质
CN113076497A (zh) * 2021-04-19 2021-07-06 北京沃东天骏信息技术有限公司 前后端异步请求调用方法、装置、设备及介质
CN113204379B (zh) * 2021-05-06 2022-11-15 携程商旅信息服务(上海)有限公司 测试资源动态加载方法、系统、设备及介质
CN113596871A (zh) * 2021-07-05 2021-11-02 哲库科技(上海)有限公司 一种测试方法、服务器及计算机存储介质
CN113377678B (zh) * 2021-07-13 2023-05-16 挂号网(杭州)科技有限公司 测试环境切换方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001183A (zh) * 2007-01-10 2007-07-18 网之易信息技术(北京)有限公司 一种网络应用软件的测试方法和系统
CN101719092A (zh) * 2008-10-09 2010-06-02 埃森哲环球服务有限公司 用于面向服务架构的测试数据创建和执行系统
US7925692B2 (en) * 2007-01-15 2011-04-12 Microsoft Corporation Method and system for testing internet software
CN104601403A (zh) * 2015-01-07 2015-05-06 上海瀚之友信息技术服务有限公司 一种自动化测试系统
CN105528297A (zh) * 2016-01-29 2016-04-27 广州酷狗计算机科技有限公司 对web页面进行测试的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7278135B2 (en) * 2003-06-11 2007-10-02 Microsoft Corporation Method and system for generating an efficient test suite from a domain description with given constraints
CN105430108B (zh) * 2014-08-25 2020-03-03 腾讯科技(深圳)有限公司 一种测试环境访问方法及代理服务器
CN105391811B (zh) * 2014-08-29 2019-12-06 腾讯科技(深圳)有限公司 域名解析方法、应用服务器的访问方法及其终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001183A (zh) * 2007-01-10 2007-07-18 网之易信息技术(北京)有限公司 一种网络应用软件的测试方法和系统
US7925692B2 (en) * 2007-01-15 2011-04-12 Microsoft Corporation Method and system for testing internet software
CN101719092A (zh) * 2008-10-09 2010-06-02 埃森哲环球服务有限公司 用于面向服务架构的测试数据创建和执行系统
CN104601403A (zh) * 2015-01-07 2015-05-06 上海瀚之友信息技术服务有限公司 一种自动化测试系统
CN105528297A (zh) * 2016-01-29 2016-04-27 广州酷狗计算机科技有限公司 对web页面进行测试的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
chrome浏览器hosts代理插件:Host Switch Plus Chrome插件;开发者插件;《http://www.cnplugins.com/devtool/host-switch-plus/》;20151216;全文 *

Also Published As

Publication number Publication date
CN107402880A (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
CN107402880B (zh) 一种测试方法及电子设备
US8732722B2 (en) Method and system for testing interactions between web clients and networked servers
CN106294101B (zh) 页面打点测试方法和装置
CN103946809B (zh) 为测试服务器产生产品服务器负载活动
WO2018184361A1 (zh) 应用程序测试方法、服务器、终端和存储介质
US8660833B2 (en) Method, computer program product and apparatus for providing an interactive network simulator
CN109815119B (zh) 一种app链接渠道的测试方法及装置
US9983856B2 (en) Transaction flow visualization
CN108111364B (zh) 一种业务系统的测试方法及装置
CN110569159A (zh) 挡板生成方法、装置、设备及计算机存储介质
WO2021129335A1 (zh) 操作监控方法及装置、操作分析方法及装置
CN114546738A (zh) 服务器通用测试方法、系统、终端及存储介质
WO2014179731A1 (en) Program testing service
US20170200098A1 (en) Transaction flow visualization
US20170200097A1 (en) Transaction flow visualization
JP6861880B1 (ja) 生成装置、生成方法および生成プログラム
CN113778878A (zh) 接口测试方法、装置、电子设备及存储介质
CN112015715A (zh) 工业互联网数据管理服务测试方法及系统
CN107203471B (zh) 联调方法、服务平台及计算机存储介质
US10169216B2 (en) Simulating sensors
CN115509918A (zh) 一种软件测试方法、装置、电子设备及存储介质
CN106294104B (zh) 一种测试用例的执行方法及移动终端
Costa et al. Taxonomy of performance testing tools: A systematic literature review
KR102481254B1 (ko) 테스트 자동화 서비스 장치 및 방법
US20230031231A1 (en) Automated network analysis using a sensor

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