CN110781083B - 一种h5客户端代码设置多环境测试方法和系统 - Google Patents

一种h5客户端代码设置多环境测试方法和系统 Download PDF

Info

Publication number
CN110781083B
CN110781083B CN201910991645.9A CN201910991645A CN110781083B CN 110781083 B CN110781083 B CN 110781083B CN 201910991645 A CN201910991645 A CN 201910991645A CN 110781083 B CN110781083 B CN 110781083B
Authority
CN
China
Prior art keywords
environment
configuration file
name
port number
domain name
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
CN201910991645.9A
Other languages
English (en)
Other versions
CN110781083A (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.)
Nanyin Faba Consumer Finance Co ltd
Original Assignee
Suning Consumer Finance 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 Suning Consumer Finance Co ltd filed Critical Suning Consumer Finance Co ltd
Priority to CN201910991645.9A priority Critical patent/CN110781083B/zh
Publication of CN110781083A publication Critical patent/CN110781083A/zh
Application granted granted Critical
Publication of CN110781083B publication Critical patent/CN110781083B/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/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种H5客户端代码设置多环境测试方法,包括:针对当前运行环境,自动生成对应的运行环境配置文件,采用域名区分不同后端服务器,采用端口号区分同一后端服务器上的不同运行环境;接收任意一个等待调试或部署的代码文件,根据代码文件中包含的环境名称,从运行环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境。本发明能够实现同一套代码快速访问多个运行环境的技术目的,减少开发人员的工作量,减少配置过程中的错误发生率;通过创建反向代理配置文件,建立代理服务器和运行环境的对应关系,解决现有技术中需要手动修改网络数据请求地址带来的繁琐工作,实现前后端的有效分和快速访问。

Description

一种H5客户端代码设置多环境测试方法和系统
技术领域
本发明涉及技术领域,具体而言涉及一种H5客户端代码设置多环境测试方法和系统。
背景技术
后端服务中存在很多环境,如测试、生产、运维等环境,客户端在启用不同环境时,通常需要针对每个环境设置不同的代码、或者在原始代码基础上做对应的调整,以便于准确调用不同的运行环境。另外,如果客户端需要通过代理服务器去访问后端服务器,需要在代码中修改代理服务器的地址信息,以便于正确跨域访问需要的运行环境。当运行环境较多、或代码数量较多的情况下,这部分调整和设置工作变得相当繁琐且容易出现错误。
因此,现在亟需一种方法,使得客户端在使用同一套代码、或在不修改代码情况下,可以对各个服务端环境进行顺利访问,如进行本地客户端代码调试和运维服务器部署客户端代码进行测试,减少开发人员的工作量,减少错误发生率。
发明内容
本发明目的在于提供一种H5客户端代码设置多环境测试方法,自动检测当前运行环境,生成或更新对应的运行环境配置文件,采用运行环境配置文件实现同一套代码快速访问多个运行环境的技术目的,减少开发人员的工作量,减少配置过程中的错误发生率;通过创建反向代理配置文件,建立代理服务器和运行环境的对应关系,解决现有技术中需要手动修改网络数据请求地址带来的繁琐工作,实现前后端的有效分和快速访问。
为达成上述目的,结合图1,本发明提出一种H5客户端代码设置多环境测试方法,所述测试方法包括:
S1:针对当前运行环境,自动生成对应的运行环境配置文件,在所述运行环境配置文件中,采用域名区分不同后端服务器,采用端口号区分同一后端服务器上的不同运行环境;
将同一套代码文件分别部署在所有客户端服务器上;S2:接收任意一个访问请求,访问请求中包括对应的环境名称,根据访问请求中包含的环境名称,从运行环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境。
进一步的实施例中,所述运行环境包括测试环境和运维环境。
进一步的实施例中,所述测试方法还包括:
定期遍历所有运行环境,自动更新运行环境配置文件。
进一步的实施例中,所述测试方法还包括:
创建反向代理配置文件,所述反向代理配置文件中包括代理服务器中各个地址信息和后端服务器中的各个运行环境的对应关系;
接收网络数据请求地址,获取其所对应的环境名称,从反向代理配置文件中直接调取对应的地址信息。
进一步的实施例中,步骤S2中,采用webpack对代码文件进行打包,打包生成的代码文件的名称为:“所属项目名称:对应的环境名称”。
进一步的实施例中,步骤S2中,所述从运行环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境包括:
S21:根据所包含的域名尝试获取运维环境,如果获取成功,转入步骤S23,如果获取失败,转入步骤S22;
S22:根据端口号尝试获取测试环境,如果获取成功,转入步骤S23,如果获取失败,启用默认测试环境,结束流程;
S23:启用对应的运行环境,结束流程。
进一步的实施例中,所述方法还包括:
如果其中一个运行环境被删除,释放其所对应的域名或端口号。
基于前述方法,本发明还提及一种H5客户端代码设置多环境测试系统,所述系统包括:
(1)运行环境配置文件,用于存储运行环境与后端服务器的对应关系,在所述运行环境配置文件中,采用域名区分不同后端服务器,采用端口号区分同一后端服务器上的不同运行环境;
(2)配置文件生成模块,用于针对当前运行环境,自动生成对应的运行环境配置文件;
(3)代码文件部署模块,用于将同一套代码文件分别部署在多个不同的客户端服务器上;
(4)运行环境调用模块,用于接收接收任意一个访问请求,访问请求中包括对应的环境名称,根据访问请求中包含的环境名称,从测试环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境。
进一步的实施例中,所述系统还包括域名和端口号管理模块,用于管理后端服务器的域名信息、以及后端服务器所包含的端口号信息。
以上本发明的技术方案,与现有相比,其显著的有益效果在于:
(1)采用运行环境配置文件实现同一套代码快速访问多个运行环境的技术目的,减少开发人员的工作量,减少配置过程中的错误发生率。
(2)通过创建反向代理配置文件,建立代理服务器和运行环境的对应关系,解决现有技术中需要手动修改网络数据请求地址带来的繁琐工作,实现前后端的有效分和快速访问。
(3)自动检测当前运行环境,生成或更新对应的运行环境配置文件。
(4)实时管理运行环境和域名、端口号的对应关系,提高资源利用率。
(5)采用项目名称定义代码文件,一方面,有效区分各个项目对应的同一代码,提高同一代码的重复利用率,另一方面,使用户能够快速查看到代码文件所属项目。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1是本发明的H5客户端代码设置多环境测试方法的流程图。
图2是本发明的其中一种例子的工作原理示意图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
结合图1,本发明提出一种H5客户端代码设置多环境测试方法,所述测试方法包括:
S1:针对当前运行环境,自动生成对应的运行环境配置文件,在所述运行环境配置文件中,采用域名区分不同后端服务器,采用端口号区分同一后端服务器上的不同运行环境。
将同一套代码文件分别部署在所有客户端服务器上。
S2:接收任意一个访问请求,访问请求中包括对应的环境名称,根据访问请求中包含的环境名称,从运行环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境。
在一些例子中,所述运行环境包括测试环境和运维环境,分别对应于本地调试工作和运维服务器部署工作。其中,本地调试:用于开发进行本机代码调试;运维服务器部署:当开发完毕,会将客户端代码部署在运维服务器上。测试环境的服务器供测试人员测试,运维环境(生产环境)的服务器给用户使用。在此基础上,本地调试用端口判断环境(测试环境),运维服务器部署则用对应的域名判断环境(运维环境)。
结合图2,假设后端服务提供三种环境,分别为Develop、Sit、Product环境。
一、本地调试用端口判断环境
当开发本地调试时,对应hostname是一样的,可以启动调试时,传入不同端口号,根据不同端口号对应不同环境。我们设置8881端口对应Develop,8882对应Sit,8883对应Product,例如http://127.0.0.1:8881/XXX,http://127.0.0.1:8882/XXX,http://127.0.0.3:8881/XXX
Figure BDA0002238487800000031
Figure BDA0002238487800000041
二、运维服务器部署用hostname判断环境
客户端代码部署在不同环境的运维服务器上,运维服务器对应的域名是不同的,根据不同hostname对应不同环境。例如https://develop.com.cn/XXX,https://sit.com.cn/XXX,https://product.com.cn/XXX
Figure BDA0002238487800000042
第三,当代码既可以本地调试也可以部署在运维服务器测试时
采用的具体方法为:
步骤S2中,所述从运行环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境包括:
S21:根据所包含的域名尝试获取运维环境,如果获取成功,转入步骤S23,如果获取失败,转入步骤S22。
S22:根据端口号尝试获取测试环境,如果获取成功,转入步骤S23,如果获取失败,启用默认测试环境,结束流程。
S23:启用对应的运行环境,结束流程。
由于是一套代码,代码既可以本地调试也可以部署在运维服务器测试,那么获取当前运行环境顺序如下
1)先根据运维服务器判断,如果获取失败进行步骤2
2)根据端口号判断,如果获取失败,默认当前环境为Product
Figure BDA0002238487800000043
Figure BDA0002238487800000051
在另一些例子中,所述测试方法还包括:
定期遍历所有运行环境,自动更新运行环境配置文件。
运行环境、尤其是测试环境具有多变性,针对这一点,本发明提出,通过定期更新运行环境配置文件的方式以确保运行环境调用成功。运行环境配置文件的生成和更新方式可以采用自动进行、用户手动方式,更甚者采用两种结合的方式,如自动生成/更新后用户再手动审核修正等。
优选的,也可以创建单独的配置文件管理模块,用户通过配置文件管理模块对配置文件进行有效管理。更加优选的,还可以结合用于管理后端服务器的域名信息、以及后端服务器所包含的端口号信息的域名和端口号管理模块,同时实现对后端服务器的管理。例如,当某一运行环境被删除时,可以释放其所对应的域名或端口号,进行重新分配,避免造成资源浪费。
步骤S2中,采用webpack对代码文件进行打包,打包生成的代码文件的名称为:“所属项目名称:对应的环境名称”。采用项目名称定义代码文件,一方面,有效区分各个项目对应的同一代码,提高同一代码的重复利用率,另一方面,使用户能够快速查看到代码文件所属项目。
下面结合具体例子对代码文件的打包和调试进行说明。
1)在调试脚本里,调试对应的名字是"项目名:环境名称",对应值增加环境对应端口号。
例如是商城项目(shop),使用webpack打包。
Figure BDA0002238487800000052
2)打包脚本里不需要指定端口号。
"scripts":{
"shop:build":"webpack...",
}
在某些场合下,还需要通过代理服务器实现跨域访问。对此,本发明提出,所述测试方法还包括:
创建反向代理配置文件,所述反向代理配置文件中包括代理服务器中各个地址信息和后端服务器中的各个运行环境的对应关系。
接收网络数据请求地址,获取其所对应的环境名称,从反向代理配置文件中直接调取对应的地址信息。
第一步,在网络数据请求url path中,增加对应环境名称,如请求path为/resource/advertisement,则Develop下请求/Develop/resource/advertisement,Sit下请求Sit/resource/advertisement。
第二步,反向代理配置
Figure BDA0002238487800000061
在此设定下,当遇到含有/Develop/的path请求时,就会调用Develop环境的后端服务,Sit和Product一样,有效解决现有技术中需要手动修改网络数据请求地址带来的繁琐工作,实现前后端的有效分和快速访问。
基于前述方法,本发明还提及一种H5客户端代码设置多环境测试系统,所述系统包括:
(1)运行环境配置文件,用于存储运行环境与后端服务器的对应关系,在所述运行环境配置文件中,采用域名区分不同后端服务器,采用端口号区分同一后端服务器上的不同运行环境。
(2)配置文件生成模块,用于针对当前运行环境,自动生成对应的运行环境配置文件。
(3)代码文件部署模块,用于将同一套代码文件分别部署在多个不同的客户端服务器上。
(3)运行环境调用模块,用于接收接收任意一个访问请求,访问请求中包括对应的环境名称,根据访问请求中包含的环境名称,从测试环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定义在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

Claims (8)

1.一种H5客户端代码设置多环境测试方法,其特征在于,所述测试方法包括:
S1:针对当前运行环境,自动生成对应的运行环境配置文件,在所述运行环境配置文件中,采用域名区分不同后端服务器,采用端口号区分同一后端服务器上的不同运行环境;
将同一套代码文件分别部署在所有客户端服务器上;
S2:接收任意一个访问请求,访问请求中包括对应的环境名称,根据访问请求中包含的环境名称,从运行环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境;
所述测试方法还包括:
创建反向代理配置文件,所述反向代理配置文件中包括代理服务器中各个地址信息和后端服务器中的各个运行环境的对应关系;
接收网络数据请求地址,获取其所对应的环境名称,从反向代理配置文件中直接调取对应的地址信息。
2.根据权利要求1所述的H5客户端代码设置多环境测试方法,其特征在于,所述运行环境包括测试环境和运维环境。
3.根据权利要求1所述的H5客户端代码设置多环境测试方法,其特征在于,所述测试方法还包括:
定期遍历所有运行环境,自动更新运行环境配置文件。
4.根据权利要求1所述的H5客户端代码设置多环境测试方法,其特征在于,步骤S2中,采用webpack对代码文件进行打包,打包生成的代码文件的名称为:“所属项目名称:对应的环境名称”。
5.根据权利要求2所述的H5客户端代码设置多环境测试方法,其特征在于,步骤S2中,所述从运行环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境包括:
S21:根据所包含的域名尝试获取运维环境,如果获取成功,转入步骤S23,如果获取失败,转入步骤S22;
S22:根据端口号尝试获取测试环境,如果获取成功,转入步骤S23,如果获取失败,启用默认测试环境,结束流程;
S23:启用对应的运行环境,结束流程。
6.根据权利要求1所述的H5客户端代码设置多环境测试方法,其特征在于,所述方法还包括:
如果其中一个运行环境被删除,释放其所对应的域名或端口号。
7.一种H5客户端代码设置多环境测试系统,其特征在于,所述系统包括:
运行环境配置文件,用于存储运行环境与后端服务器的对应关系,在所述运行环境配置文件中,采用域名区分不同后端服务器,采用端口号区分同一后端服务器上的不同运行环境;
代码文件部署模块,用于将同一套代码文件分别部署在多个不同的客户端服务器上;
配置文件生成模块,用于针对当前运行环境,自动生成对应的运行环境配置文件;
运行环境调用模块,用于接收任意一个访问请求,访问请求中包括对应的环境名称,根据访问请求中包含的环境名称,从测试环境配置文件中调取对应的域名和/或端口号,以启用对应的运行环境。
8.根据权利要求7所述的H5客户端代码设置多环境测试系统,其特征在于,所述系统还包括域名和端口号管理模块,用于管理后端服务器的域名信息、以及后端服务器所包含的端口号信息。
CN201910991645.9A 2019-10-18 2019-10-18 一种h5客户端代码设置多环境测试方法和系统 Active CN110781083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910991645.9A CN110781083B (zh) 2019-10-18 2019-10-18 一种h5客户端代码设置多环境测试方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910991645.9A CN110781083B (zh) 2019-10-18 2019-10-18 一种h5客户端代码设置多环境测试方法和系统

Publications (2)

Publication Number Publication Date
CN110781083A CN110781083A (zh) 2020-02-11
CN110781083B true CN110781083B (zh) 2022-08-02

Family

ID=69385804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910991645.9A Active CN110781083B (zh) 2019-10-18 2019-10-18 一种h5客户端代码设置多环境测试方法和系统

Country Status (1)

Country Link
CN (1) CN110781083B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817872B (zh) * 2021-02-26 2024-05-28 苏州挚途科技有限公司 开发测试系统及方法
CN112988584A (zh) * 2021-03-22 2021-06-18 深圳云之家网络有限公司 业务测试方法、装置、计算机设备和存储介质
CN113377678B (zh) * 2021-07-13 2023-05-16 挂号网(杭州)科技有限公司 测试环境切换方法、装置、电子设备及存储介质
CN113609005A (zh) * 2021-07-19 2021-11-05 浙江吉利控股集团有限公司 一种软件测试环境管理系统和方法
CN113468067B (zh) * 2021-07-21 2022-12-13 中国建设银行股份有限公司 应用程序的调试方法、装置、电子设备和计算机可读介质
CN115145814A (zh) * 2022-06-30 2022-10-04 北京达佳互联信息技术有限公司 服务测试方法、装置、服务测试系统和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815052A (zh) * 2017-01-10 2017-06-09 南威软件股份有限公司 一种适配多环境配置的快速部署系统的方法
CN106897226A (zh) * 2017-02-28 2017-06-27 郑州云海信息技术有限公司 一种持续集成测试的方法以及装置
CN109284472A (zh) * 2018-11-15 2019-01-29 福建省华渔教育科技有限公司 基于webpack的前端网页加载方法、存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815052A (zh) * 2017-01-10 2017-06-09 南威软件股份有限公司 一种适配多环境配置的快速部署系统的方法
CN106897226A (zh) * 2017-02-28 2017-06-27 郑州云海信息技术有限公司 一种持续集成测试的方法以及装置
CN109284472A (zh) * 2018-11-15 2019-01-29 福建省华渔教育科技有限公司 基于webpack的前端网页加载方法、存储介质

Also Published As

Publication number Publication date
CN110781083A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN110781083B (zh) 一种h5客户端代码设置多环境测试方法和系统
US11647009B2 (en) Access request conversion method and apparatus
CN106936853B (zh) 基于面向系统集成的跨域单点登录系统进行跨域单点登录的方法
US7334162B1 (en) Dynamic distribution of test execution
US7844692B2 (en) Web server multiplier for analyzing resource leaks
CN108737467B (zh) 一种服务器日志查看方法、装置和系统
US6853943B1 (en) System and method for testing the load of at least one IP supported device
CN112068902B (zh) 一种插件调用方法、装置、电子设备及存储介质
US20060047496A1 (en) Method, system and program product for recording and replaying target service interaction data
CN106339273A (zh) 一种应用程序修复方法、终端及服务器
US20220326940A1 (en) Service Upgrade Method, Apparatus, and System
CN105487859A (zh) 一种基于模板的大数据组件web部署方法
CN113114794A (zh) 一种基于二次代理处理域名的方法及设备
CN109617966A (zh) 一种基于Openstack的云管平台部署系统及方法
CN112104715A (zh) 一种基于微服务日志链路跟踪方法及系统
US7289989B2 (en) Pattern based web services
CN112860398A (zh) 基于规则引擎的数据处理方法、装置、设备及介质
US9043440B2 (en) Automatic WSDL download of client emulation for a testing tool
CN112272190B (zh) 一种数据访问方法和装置
CN109474484B (zh) Cdn的检查方法及装置、系统
CN107995059B (zh) 一种iOS网络测试策略
CN114697198B (zh) 云灾备服务器的实现方法、启用方法和装置
CN109286692A (zh) 一种配置服务器ipmi静态ip地址的方法
CN114297083A (zh) 代理测试方法、装置、电子设备和可读介质
CN113014443B (zh) 一种cdn资源是否命中缓存的测试方法及其系统

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
CP01 Change in the name or title of a patent holder

Address after: No.88, Huaihai Road, Qinhuai District, Nanjing, Jiangsu 210001

Patentee after: Nanyin Faba Consumer Finance Co.,Ltd.

Address before: No.88, Huaihai Road, Qinhuai District, Nanjing, Jiangsu 210001

Patentee before: SUNING CONSUMER FINANCE Co.,Ltd.

CP01 Change in the name or title of a patent holder