CN116820958A - 一种基于代理的多环境自动化测试方法及系统 - Google Patents

一种基于代理的多环境自动化测试方法及系统 Download PDF

Info

Publication number
CN116820958A
CN116820958A CN202310769569.3A CN202310769569A CN116820958A CN 116820958 A CN116820958 A CN 116820958A CN 202310769569 A CN202310769569 A CN 202310769569A CN 116820958 A CN116820958 A CN 116820958A
Authority
CN
China
Prior art keywords
test
target
proxy server
environment
proxy
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
Application number
CN202310769569.3A
Other languages
English (en)
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.)
Zhejiang Geely Holding Group Co Ltd
Zhejiang Zeekr Intelligent Technology Co Ltd
Original Assignee
Zhejiang Geely Holding Group Co Ltd
Zhejiang Zeekr Intelligent Technology 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 Zhejiang Geely Holding Group Co Ltd, Zhejiang Zeekr Intelligent Technology Co Ltd filed Critical Zhejiang Geely Holding Group Co Ltd
Priority to CN202310769569.3A priority Critical patent/CN116820958A/zh
Publication of CN116820958A publication Critical patent/CN116820958A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种基于代理的多环境自动化测试方法及系统,应用于终端,所述终端配置有代理服务器列表,所述代理服务器列表包含多个代理服务器的访问信息及与所述代理服务器一一对应的测试环境的属性信息,所述代理服务器的hosts文件配置有与之对应的测试环境的访问信息,所述方法包括:获取测试请求中包含的目标测试环境属性信息;根据所述目标测试环境属性信息从所述代理服务器列表中确认所述目标测试环境对应的目标代理服务器,并将所述测试请求发送给所述目标代理服务器,以使所述目标代理服务器将所述测试请求转发至目标测试环境。本申请提出一种将测试请求通过多个代理服务器分发至对应的测试环境的方法,使得自动化测试的效率提高。

Description

一种基于代理的多环境自动化测试方法及系统
技术领域
本申请一个或多个实施例涉及自动化测试技术领域,尤其涉及一种基于代理的多环境自动化测试方法及系统。
背景技术
在软件开发过程中,通过自动化测试实现对软件功能的验证和软件质量的保证是非常有效的手段也是常用的方法,自动化测试是一种把以人为驱动的测试行为转化为机器执行的过程。通常,在设计测试用例并通过评审后,根据测试用例中描述规程执行测试,得到实际结果与期望结果的比较。现有的自动化测试,一般分为准备测试环境,执行测试脚本和收集测试结果三个阶段。准备测试环境包括安装部署待测试对象,安装部署测试运行环境,开发、编译和调试测试脚本;执行测试脚本包括准备测试环境和测试框架、下载测试脚本以及触发执行测试脚本;收集测试结果包括收集和整理日志信息。在自动化测试的过程中,同样的一套自动化测试脚本经常需要在不同的测试环境下(不同的测试环境一般是指相同的域名但是对应的不同真实ip地址)进行测试验证。在通用的自动化测试平台中,测试脚本执行的机器通常为固定的几台机器,通常情况下会通过修改测试脚本执行机器的hosts文件以实现对不同的测试环境进行测试验证,但是在其他的脚本同时使用该自动化脚本执行机器的时候,也会使用该hosts文件配置,当两个自动化测试脚本在同一执行机器上要对不同的测试环境进行测试验证时就会出现矛盾,无法实现。因此,本申请提出一种新的基于代理的多环境自动化测试方法及系统以提高基于代理的多环境自动化测试的效率。
发明内容
本申请提供一种用于基于代理的多环境自动化测试方法和装置,以解决相关技术中的不足。
根据本申请一个或多个实施例的第一方面,提供一种基于代理的多环境自动化测试方法,应用于终端,所述终端配置有代理服务器列表,所述代理服务器列表包含多个代理服务器的访问信息及与所述代理服务器一一对应的测试环境的属性信息,所述代理服务器的hosts文件配置有与之对应的测试环境的访问信息,所述方法包括:
获取测试请求中包含的目标测试环境属性信息;
根据所述目标测试环境属性信息从所述代理服务器列表中确认所述目标测试环境对应的目标代理服务器,并将所述测试请求发送给所述目标代理服务器,以使所述目标代理服务器将所述测试请求转发至目标测试环境。
可选地,所述方法还包括:
在所述测试请求中包含多个目标测试环境的属性信息的情况下,从代理服务器列表中根据目标测试环境的数量和属性信息一一确认与之对应的目标代理服务器,并将所述测试请求发送给多个所述目标代理服务器。
可选地,所述多个测试环境之间域名相同ip地址不同。
可选地,所述终端配置为请求发送客户端,所述请求发送客户端用于根据代理服务器列表中包含的代理服务器访问信息发送测试请求;
所述方法还包括:
根据所述目标测试环境属性信息从代理服务器列表中查找与所述目标测试环境对应的代理服务器,将其确认为目标代理服务器,并获取所述目标代理服务器的访问信息。
可选地,所述终端通过httpClient配置为请求发送客户端。
可选地,所述测试环境的属性信息包括自定义环境标签值
根据本申请一个或多个实施例的第二方面,提供一种基于代理的多环境自动化测试方法,应用于代理服务器,所述代理服务器的hosts文件配置有与之一一对应的测试环境的访问信息,所述方法包括:
对接收到的测试请求进行解析,得到目标测试环境属性信息;
根据所述目标测试环境属性信息从hosts文件中获取目标测试环境的访问信息;
根据所述目标测试环境的访问信息将所述测试请求转发给目标测试环境;
接收所述目标测试环境返回的测试结果,并将其转发给终端。
根据本申请一个或多个实施例的第三方面,提供一种基于代理的多环境自动化测试系统,终端配置有代理服务器列表,所述代理服务器列表包含多个代理服务器的访问信息及与所述代理服务器一一对应的测试环境的属性信息,所述代理服务器的hosts文件配置有与之对应的测试环境的访问信息,所述系统包括:
终端,用于获取测试请求中包含的目标测试环境属性信息;根据所述目标测试环境属性信息从所述代理服务器列表中确认所述目标测试环境对应的目标代理服务器,并将所述测试请求发送给所述目标代理服务器,以使所述目标代理服务器将所述测试请求转发至所述目标测试环境;
代理服务器,用于对接收到的测试请求进行解析,得到目标测试环境属性信息;根据所述目标测试环境属性信息从hosts文件中获取所述目标测试环境的访问信息;根据所述目标测试环境的访问信息将所述测试请求转发给所述目标测试环境;接收所述目标测试环境返回的测试结果,并将其转发给终端;
测试服务器集群,所述测试服务器集群用于提供多种测试环境,所述测试服务期集群中的任一测试服务器用于接收测试请求,完成自动化测试,并将测试结果发送给与其相对应的代理服务器。
根据本申请一个或多个实施例的第四方面,提供一种电子设备,包括处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现一种可选的所述基于代理的多环境自动化测试的方法。
根据本申请一个或多个实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现一种可选的所述基于代理的多环境自动化测试的方法。
应用本申请提供的实施例,通过获取测试请求中包含的测试环境属性信息;根据所述测试环境属性信息从代理服务器列表中确认目标测试环境对应的目标代理服务器,并将所述测试请求发送给所述目标代理服务器,以使所述目标代理服务器将所述测试请求转发至目标测试环境。本申请提出一种将测试请求根据测试环境属性信息通过多个代理服务器分发至相对应的目标测试环境的方法,减少了手动修改终端配置文件所需要的时间和精力,同时因为不同的测试环境对应不同的代理服务器,本申请能够实现同时在同一终端上执行不同测试环境的自动化脚本的测试验证,从而提高了测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例示出的一种基于代理的多环境自动化测试方法的系统架构图;
图2是本申请一示例性实施例示出的一种基于代理的多环境自动化测试方法的流程图;
图3是本申请一具体实施例示出的另一种基于代理的多环境自动化测试方法的流程图;
图4是本申请一示例性实施例示出的一种基于代理的多环境自动化测试系统的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示,图1是本申请一示例性实施例示出的一种基于代理的多环境自动化测试方法的系统架构图。该系统架构中包含代理服务器集群110以及与所述代理服务器集群110建立有网络120连接的终端130和测试服务器集群140。
本申请实施例涉及的代理服务器集群110中的代理服务器111、112和113,和测试服务器集群140中的测试服务器141、142和143均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请实施例涉及的终端130可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种电子设备。网络120可以是能够在终端130和代理服务器集群110、代理服务器集群110和测试服务器集群140之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的系统架构可以具有任意数目的终端130、网络120和代理服务器集群110、测试服务器集群140。例如代理服务器集群110中的代理服务器111、112和113,和测试服务器集群140中的测试服务器141、142和143也可以是由多个服务器设备组成的服务器群组,本申请对此不做特殊限定。
终端130可以包括各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、智能屏设备、自助服务终端设备、服务机器人、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类型和版本的软件应用程序和操作系统,例如MICROSOFTWindows、APPLE iOS、类UNIX操作系统、Linux或类Linux操作系统(例如GOOGLE ChromeOS);或包括各种移动操作系统,例如MICROSOFT Windows Mobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器(诸如智能眼镜)和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。终端130能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。
代理服务器集群110中的代理服务器111、112和113,和测试服务器集群140中的测试服务器141、142和143均可以是独立的物理服务器,可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机的群集或任何其他适当的布置和/或组合。代理服务器集群110中的代理服务器111、112和113,和测试服务器集群140中的测试服务器141、142和143可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,代理服务器集群110中的代理服务器111、112和113中可以运行提供下文所描述的功能的一个或多个代理服务或软件应用,测试服务器集群140中的测试服务器141、142和143中可以运行提供下文所描述的功能的一个或多个测试服务或软件应用。代理服务器集群110中的代理服务器111、112和113,和测试服务器集群140中的测试服务器141、142和143中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。代理服务器集群110中的代理服务器111、112和113,和测试服务器集群140中的测试服务器141、142和143中还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。在一些实施方式中,代理服务器集群110中的代理服务器111、112和113可以包括一个或多个应用程序,以分析和合并由终端130发送的测试请求,执行终端130发送的命令。测试服务器集群140中的测试服务器141、142和143可以包括一个或多个应用程序,以分析和合并由代理服务器集群110中的代理服务器111、112和113发送的测试请求,执行代理服务器集群110中的代理服务器111、112和113发送的命令。在一些实施方式中,代理服务器集群110中的代理服务器111、112和113,和测试服务器集群140中的测试服务器141、142和143可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器110也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。代理服务器集群110中的代理服务器111、112和113,和测试服务器集群140中的测试服务器141、142和143也可以是数据库,用于存储数据和其他信息,应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在一实施例中,上述网络120连接建立在所述代理服务器集群110中的代理服务器111、112和113和测试服务器集群140中的测试服务器141、142和143之间,测试服务器集群140中的测试服务器141、142和143用于在对应的代理服务器集群110中的代理服务器111、112和113接入网络120时,提供请求转发服务,接收并处理客户端设备110发送的各项指令,实现请求转发功能。在另一实施例中,上述网络120连接建立在所述测试服务器集群140中的测试服务器141、142和143与代理服务器集群110中的代理服务器111、112和113之间,代理服务器集群110中的代理服务器111、112和113用于在相对应的测试服务器集群140中的测试服务器141、142和143中的设备接入网络120时,提供测试服务,接收并处理代理服务器集群1110中的相应代理服务器111、112、113和/或114发送的各项指令,实现自动化测试功能。网络120可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络120可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、区块链网络、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。
本申请中所述代理服务器(Proxy Server)是一种位于终端和目标服务器之间的中间服务器,用于转发客户端发送的请求和目标服务器返回的响应。代理服务器可以防止客户端直接访问目标服务器,提高了网络安全性和隐私保护,并且可以对网络流量进行管理和优化。目前的代理服务器根据网络协议可以分为以下几类:
1.HTTP代理:HTTP代理是最常用的代理类型,通过在客户端和目标服务器之间建立HTTP连接,接收并转发客户端发送的HTTP请求和目标服务器返回的HTTP响应。HTTP代理可以按照请求的URL和HTTP头部信息进行路由和过滤,从而实现很多功能,例如反向代理、内容过滤、流量控制等。
2.SOCKS代理:SOCKS(Socket Secure)代理是一种支持TCP和UDP协议的代理类型,可以让客户端绕过防火墙和NAT,直接和目标服务器通信。SOCKS代理可以实现类似VPN的功能,将客户端和目标服务器之间的数据加密传输,增加了网络安全性和隐私保护。
3.FTP代理:FTP代理是一种专门用于处理FTP流量的代理类型,可以优化FTP流量的传输速度和稳定性,并对FTP流量进行流量控制和访问控制等。
4.TLS/SSL代理:TLS(Transport Layer Security)/SSL(Secure Sockets Layer)代理是一种专门用于处理加密流量的代理类型,可以对TLS/SSL流量进行解密、加密、签名等操作,从而实现流量分析、检测和加密传输等功能。
根据网络协议的不同选择适应性的代理服务器进行代理,可以提高网络安全性、隐私保护,并且实现流量控制、优化等功能。
本申请实施例提供的基于代理的多环境自动化测试方法方法可以应用于终端130中的配置中心,也可以应用于终端130中的代理应用程序和/或平台,在包括但不限于能够提供基于代理的多环境自动化测试功能的多种业务场景下都可以应用本申请实施例提供的基于代理的多环境自动化测试方法。在一具体实施例中,将本申请实施例提供的基于代理的多环境自动化测试方法应用于Nginx配置,通过在手机、电脑等终端130上安装Nginx,可以建立网络120连接访问代理服务器集群110中的任一代理服务器111、112和113,并获取代理服务器集群110中的任一代理服务器111、112和113提供的数据资源,进而利用相关资源实现测试请求转发,在测试服务器集群140中的相应测试服务器141、142和143完成测试后,将测试结果通过网络120发送代理服务器集群110中对应代理服务器111、112和113。
系统100还可以包括一个或多个终端130。多个终端130之间可以通过通信网络120连接,用于更高层级的调度和管理以更好地实现自动化测试功能。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本申请所描述的各种方法和装置,最终通过终端130实现自动化测试功能。
本申请中的测试请求主要指的自动化测试请求,所述自动化测试是指利用自动化脚本来模拟人工操作,验证和测试软件系统的过程。通过自动执行大量的测试任务,快速发现并修复软件缺陷,以加速软件开发周期,保证软件交付的质量和稳定性。
在自动化脚本的测试验证中,在域名相同、IP不同的测试环境下测试的用处在于验证软件系统在多种不同的部署环境下的性能和稳定性。例如,一个网站可能会在多个地区或者不同的数据中心部署相同的应用程序,但是不同的部署环境具有不同的网络拓扑结构、硬件配置和软件配置,因此会对应用程序的性能和稳定性产生影响。通过在这些不同的测试环境下进行测试,可以发现并解决在特定部署环境下的性能或稳定性问题,提高应用程序的兼容性和可靠性,增强用户体验,并防止出现未知的故障和错误。
hosts文件是一种操作系统级别的文件,用于为特定的域名指定相应的IP地址。当计算机尝试连接某个特定的域名时,会首先在hosts配置文件中查找对应的IP地址,如果存在则直接发送请求到该IP地址,而不需要通过DNS服务器进行解析。当然,对于未知域名,经过DNS解析后得到对应的IP地址可以更新在hosts文件中方便下次查询。这种方式可以提高计算机对于特定域名的访问速度和减少网络负担,同时也可以实现特定的网络调试或者测试需求,比如通过修改hosts配置来实现特定域名的重定向、屏蔽或者模拟多个测试环境等。
在目前通用的自动化测试平台中,就是通过多次修改hosts配置实现在多个测试环境下的自动化测试,或者是采用多个设备配置不同的hosts文件来执行自动化脚本。以中国政府网为例,其域名为“gov.cn”,以下是其对应的IP地址举例:219.238.186.110、219.238.186.111、219.238.186.112。当自动化脚本执行机器上的hosts文件将“gov.cn”指定的IP地址从219.238.186.110修改为219.238.186.111,那么当所述自动化测试脚本执行机器尝试连接“gov.cn”时,将会被重定向到IP地址219.238.186.111,而不是原先的IP地址219.238.186.110。但上述方法均受到条件限制或者需要人工不断修改。同时,如果想要在单个自动化脚本执行机器上同时执行两个自动化测试脚本或者说是向某一特定域名发送两个不同测试环境的测试请求的时候,此时无法通过修改本机配置的hosts文件实现。即对于单个自动化脚本执行机器只能将某一特定域名解析为一个IP地址,只能在一种测试环境下进行测试。因此,本申请提出一种新的基于代理的多环境自动化测试方法。
下面将对本申请提出的基于代理的多环境自动化测试方法以及基于代理的多环境自动化测试系统进行具体说明。图2是根据本申请一示例性实施例示出的一种基于代理的多环境自动化测试方法的流程图。如图2所示,所述基于代理的多环境自动化测试方法应用于终端,所述终端配置有代理服务器列表,所述代理服务器列表包含多个代理服务器的访问信息及与所述代理服务器一一对应的测试环境的属性信息,所述代理服务器的hosts文件配置有与之对应的测试环境的访问信息,主要包括如下步骤:
步骤S201:获取测试请求中包含的测试环境属性信息。
步骤S202:根据所述测试环境属性信息从代理服务器列表中确认目标测试环境对应的目标代理服务器,并将所述测试请求发送给所述目标代理服务器,以使所述目标代理服务器将所述测试请求转发至目标测试环境。
在步骤S201中,所述测试环境属性信息可以包括自定义环境标签值,还可以包括测试业务标识、测试环境端口信息,还可以携带其他信息,可以包括环境名称、环境类型、服务器IP地址、数据库版本、应用程序版本、数据备份情况、运行状态等各种信息,这些信息可以通过配置文件或数据库进行管理,具体可以根据实际情况进行设置和调整,此处不做具体限定。所述测试环境属性信息是为了更好地管理和控制测试环境,对测试环境进行分类标记和编号,如“生产环境”、“测试环境”、“开发环境”等,以便更好地识别和管理不同类型的测试环境。也需要使用tag标签来帮助我们进行测试套件和测试用例的组织和管理。在一具体实施例中,可以使用tag标签来标记测试环境的环境名称和环境类型,将测试环境的环境类型分为“text”、“dev”、“pre”分别代表“测试环境”、“开发环境”、“预发布环境”,当然后二者也可以作为测试环境进行测试,将环境名称通过阿拉伯数字或罗马数字进行编号。当所述测试请求的头部包含“envtag=pre01”,可以认为其表达的是将所述测试请求在属性为“pre01”的测试环境下进行测试,即该测试环境为“预发布环境”,编号为01的测试环境。
在步骤S202中,代理服务器列表用于存储一个或者多个代理服务器的访问信息及与所述代理服务器一一对应的测试环境的属性信息,每个代理服务器的访问信息指示每个代理服务器的IP地址,或者是URL,或者是网络协议地址以及端口地址,在一具体实施例中,所述代理服务器列表如表1所示。
序号 代理服务器访问信息 目标测试环境属性信息
1 192.168.0.1 text01
2 192.168.0.2 text02
3 192.168.0.3 text03
4 192.168.0.4 text04
5 192.169.0.1 dev01
6 192.169.0.2 dev02
7 192.169.0.3 pre01
表1
在一具体实施例中,所述终端配置为请求发送客户端,所述请求发送客户端用于根据代理服务器列表中包含的代理服务器访问信息发送测试请求;所述方法还包括:根据所述目标测试环境属性信息从代理服务器列表中查找与所述目标测试环境对应的代理服务器,将其确认为目标代理服务器,并获取所述目标代理服务器的访问信息。例如,当在步骤S101中获取到所述测试请求中包含有目标测试环境信息“text01”,从所述代理服务器列表中查找“text01”,并确认与其对应的代理服务器的访问信息为192.168.0.1,将所述代理服务器确认为目标代理服务器,根据所述目标代理服务器的访问信息192.168.0.1发送访问请求,所述终端通过httpClient配置为请求发送客户端,使用httpClient对API接口发起http请求。所述httpClient是Apache Jakarta Common的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,包括请求和响应拦截、连接池管理、Cookie管理等功能。在另一具体实施例中,还可以通过Retrofit将终端配置为请求发送客户端,Retrofit是一个基于OkHttp的RESTful HTTP客户端库,由Square公司开发。Retrofit提供了易用的接口定义方法,支持动态URL、请求和响应转换、异步和同步请求、请求缓存等特性,使用起来非常方便。
在另一具体实施例中,在所述测试请求中包含多个目标测试环境的属性信息的情况下,从代理服务器列表中根据目标测试环境的数量和属性信息一一确认与之对应的目标代理服务器,并将所述测试请求发送给多个所述目标代理服务器。例如,当在步骤S101中获取到所述测试请求中包含有目标测试环境信息“text01”、“text02”、“text03”,从所述代理服务器列表中查找“text01”、“text02”、“text03”,并确认与其对应的代理服务器的访问信息为192.168.0.1、192.168.0.2、192.168.0.3,将所述三个代理服务器分别确认为目标代理服务器,根据所述目标代理服务器的访问信息192.168.0.1、192.168.0.2、192.168.0.3分别发送访问请求。其中,所述多个测试环境之间可以是域名相同ip地址不同,即所述多个测试环境无法在同一代理服务器上实现。
图3是根据本申请一示例性实施例示出的另一种基于代理的多环境自动化测试方法的流程图。如图3所示,所述基于代理的多环境自动化测试方法应用于代理服务器,所述代理服务器的hosts文件配置有与之一一对应的测试环境的访问信息,所述方法主要包括如下步骤:
步骤S301:对接收到的测试请求进行解析,得到目标测试环境属性信息。
步骤S302:根据所述目标测试环境属性信息从hosts文件中获取目标测试环境的访问信息。
步骤S303:根据所述目标测试环境的访问信息将所述测试请求转发给目标测试环境。
步骤S304:接收所述目标测试环境返回的测试结果,并将其转发给终端。
在步骤S301中,所述代理服务器用于在接收到终端发送的测试请求时,将所述测试请求解析得到目标测试环境属性信息。所述测试环境属性信息可以包括自定义环境标签值。
在步骤S302中,代理服务器确定所述测试请求所对应的测试环境后,从hosts文件中获取所述目标测试环境的访问信息。即在各个代理服务器的hosts文件上配置了一一对应的测试环境的访问信息,代替了在终端修改hosts文件的过程。终端无需对hosts文件进行重新配置,只需要选择对应的代理服务器,便能够将指向对应测试环境的IP地址的任务交给代理服务器完成,以使得代理服务器代理完成测试请求发送。
在准备测试环境包括安装部署待测试对象,安装部署测试运行环境时,如果测试环境更新和/或增加和/或删除,还需要适应性更新和/或增加和/或删除对应代理服务器,或将代理服务器的hosts文件进行更新和/或增加和/或删除。对于每一个代理服务器,定期检测对应的测试服务器的健康状态,确定所述测试环境配置文件中记录的访问信息例如网络协议地址以及端口地址和所述代理服务器的配置文件中记录的访问信息例如网络协议地址以及端口地址是否相同;如果两者不相同,则输出表征所述测试环境配置文件配置错误的信息,或发出日志警告,将所述测试环境配置文件中记录的访问信息例如网络协议地址以及端口地址修改到所述代理服务器的配置文件中记录的访问信息例如网络协议地址以及端口地址。
与前述方法的实施例相对应,本申请实施例还提供了一种基于代理的多环境自动化测试系统。图4是根据本申请一示例性实施例示出的一种基于代理的多环境自动化测试系统的示意图,终端配置有代理服务器列表,所述代理服务器列表包含多个代理服务器的访问信息及与所述代理服务器一一对应的测试环境的属性信息,所述代理服务器的hosts文件配置有与之对应的测试环境的访问信息,所述系统包括:
终端41,用于获取测试请求中包含的目标测试环境属性信息;根据所述目标测试环境属性信息从所述代理服务器列表中确认所述目标测试环境对应的目标代理服务器,并将所述测试请求发送给所述目标代理服务器,以使所述目标代理服务器将所述测试请求转发至所述目标测试环境。
代理服务器42,用于对接收到的测试请求进行解析,得到目标测试环境属性信息;根据所述目标测试环境属性信息从hosts文件中获取所述目标测试环境的访问信息;根据所述目标测试环境的访问信息将所述测试请求转发给所述目标测试环境;接收所述目标测试环境返回的测试结果,并将其转发给终端。
测试服务器集群43,所述测试服务器集群用于提供多种测试环境,所述测试服务期集群中的任一测试服务器用于接收测试请求,完成自动化测试,并将测试结果发送给与其相对应的代理服务器。
在一示例性实施例中,终端41还用于在所述测试请求中包含多个目标测试环境的属性信息的情况下,从代理服务器列表中根据目标测试环境的数量和属性信息一一确认与之对应的目标代理服务器,并将所述测试请求发送给多个所述目标代理服务器。其中,所述多个测试环境之间域名相同ip地址不同。所述测试环境的属性信息包括自定义环境标签值。
在另一示例性实施例中,终端41被配置为请求发送客户端,所述请求发送客户端用于根据代理服务器列表中包含的代理服务器访问信息发送测试请求;根据所述目标测试环境属性信息从代理服务器列表中查找与所述目标测试环境对应的代理服务器,将其确认为目标代理服务器,并获取所述目标代理服务器的访问信息。
在另一示例性实施例中,终端41还用于通过httpClient配置为请求发送客户端。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种基于代理的多环境自动化测试方法,其特征在于,应用于终端,所述终端配置有代理服务器列表,所述代理服务器列表包含多个代理服务器的访问信息及与所述代理服务器一一对应的测试环境的属性信息,所述代理服务器的hosts文件配置有与之对应的测试环境的访问信息,所述方法包括:
获取测试请求中包含的目标测试环境属性信息;
根据所述目标测试环境属性信息从所述代理服务器列表中确认所述目标测试环境对应的目标代理服务器,并将所述测试请求发送给所述目标代理服务器,以使所述目标代理服务器将所述测试请求转发至目标测试环境。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述测试请求中包含多个目标测试环境的属性信息的情况下,从代理服务器列表中根据目标测试环境的数量和属性信息一一确认与之对应的目标代理服务器,并将所述测试请求发送给多个所述目标代理服务器。
3.根据权利要求2所述的方法,其特征在于,所述多个测试环境之间域名相同ip地址不同。
4.根据权利要求1所述的方法,其特征在于,所述终端配置为请求发送客户端,所述请求发送客户端用于根据代理服务器列表中包含的代理服务器访问信息发送测试请求;
所述方法还包括:
根据所述目标测试环境属性信息从代理服务器列表中查找与所述目标测试环境对应的代理服务器,将其确认为目标代理服务器,并获取所述目标代理服务器的访问信息。
5.根据权利要求4所述的方法,其特征在于,所述终端通过httpClient配置为请求发送客户端。
6.根据权利要求1所述的方法,其特征在于,所述测试环境的属性信息包括自定义环境标签值。
7.一种基于代理的多环境自动化测试方法,其特征在于,应用于代理服务器,所述代理服务器的hosts文件配置有与之一一对应的测试环境的访问信息,所述方法包括:
对接收到的测试请求进行解析,得到目标测试环境属性信息;
根据所述目标测试环境属性信息从hosts文件中获取目标测试环境的访问信息;
根据所述目标测试环境的访问信息将所述测试请求转发给目标测试环境;
接收所述目标测试环境返回的测试结果,并将其转发给终端。
8.一种基于代理的多环境自动化测试系统,其特征在于,终端配置有代理服务器列表,所述代理服务器列表包含多个代理服务器的访问信息及与所述代理服务器一一对应的测试环境的属性信息,所述代理服务器的hosts文件配置有与之对应的测试环境的访问信息,所述系统包括:
终端,用于获取测试请求中包含的目标测试环境属性信息;根据所述目标测试环境属性信息从所述代理服务器列表中确认所述目标测试环境对应的目标代理服务器,并将所述测试请求发送给所述目标代理服务器,以使所述目标代理服务器将所述测试请求转发至所述目标测试环境;
代理服务器,用于对接收到的测试请求进行解析,得到目标测试环境属性信息;根据所述目标测试环境属性信息从hosts文件中获取所述目标测试环境的访问信息;根据所述目标测试环境的访问信息将所述测试请求转发给所述目标测试环境;接收所述目标测试环境返回的测试结果,并将其转发给终端;
测试服务器集群,所述测试服务器集群用于提供多种测试环境,所述测试服务期集群中的任一测试服务器用于接收测试请求,完成自动化测试,并将测试结果发送给与其相对应的代理服务器。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述基于代理的多环境自动化测试的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述基于代理的多环境自动化测试方法的步骤。
CN202310769569.3A 2023-06-27 2023-06-27 一种基于代理的多环境自动化测试方法及系统 Pending CN116820958A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310769569.3A CN116820958A (zh) 2023-06-27 2023-06-27 一种基于代理的多环境自动化测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310769569.3A CN116820958A (zh) 2023-06-27 2023-06-27 一种基于代理的多环境自动化测试方法及系统

Publications (1)

Publication Number Publication Date
CN116820958A true CN116820958A (zh) 2023-09-29

Family

ID=88142480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310769569.3A Pending CN116820958A (zh) 2023-06-27 2023-06-27 一种基于代理的多环境自动化测试方法及系统

Country Status (1)

Country Link
CN (1) CN116820958A (zh)

Similar Documents

Publication Publication Date Title
CN112118565B (zh) 多租户服务灰度发布方法、装置、计算机设备和存储介质
US20200174915A1 (en) Emulation-based testing of a microservices architecture
US10841336B2 (en) Selectively providing mutual transport layer security using alternative server names
US11265288B2 (en) Using network configuration analysis to improve server grouping in migration
US8997092B2 (en) Method, system, and computer readable medium for provisioning and remote distribution
US20170161059A1 (en) Management of multiple application programming interface versions for development environments
EP2791800B1 (en) System and method for data collection and analysis of information relating to mobile applications
US10673716B1 (en) Graph-based generation of dependency-adherent execution plans for data center migrations
US10817267B2 (en) State machine representation of a development environment deployment process
US11636016B2 (en) Cloud simulation and validation system
CN107395747B (zh) 一种基于stf平台的高扩展方法
US11144292B2 (en) Packaging support system and packaging support method
US20240126566A1 (en) Dynamically reordering plugin execution order at an api gateway of a microservices application
US10120707B2 (en) Deployment of development environments
US8677339B2 (en) Component relinking in migrations
US10721260B1 (en) Distributed execution of a network vulnerability scan
EP3740869B1 (en) Automated distribution of models for execution on a non-edge device and an edge device
US20160232021A1 (en) Automated virtual machine provisioning based on defect state
US11243755B1 (en) Resource aware patching service
CN114356521A (zh) 任务调度方法、装置、电子设备及存储介质
CN116820958A (zh) 一种基于代理的多环境自动化测试方法及系统
US10394534B2 (en) Framework for flexible logging of development environment deployment
CN114938396A (zh) 服务调用请求的路由方法、创建服务的方法及装置
CN112217852A (zh) 一种基于工作流引擎的平台即服务系统及方法
CN114564217A (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