一种测试环境的切换方法、装置及系统与流程



1.本技术涉及计算机技术领域,具体而言,涉及一种测试环境的切换方法、装置及系统。


背景技术:



2.在目前软件测试中,一般都需要进行多种环境测试(也即并行测试),以便尽早发现软件产品的缺陷以及存在的各种问题。
3.然而,测试服务内部一般会布置多套测试环境,而外部项目只会配置一套测试环境,所以当测试环境服务与外部项目服务对接,采用调用外部环境接口成功后并等待外部环境回调方式后,测试服务只会给外部项目分配一个回调地址,而对接的外部项目通常也不会因为内部有多套测试环境而定制化分多次回调不同的测试环境地址,从而导致测试服务无法识别外部项目的回调请求,进而无法根据外部项目发送的回调请求来选择正确的内部测试环境来对外部项目进行测试。


技术实现要素:



4.本技术实施例的目的在于提供一种测试环境的切换方法、装置及系统,用以解决现有的环境测试服务中,由于外部项目的一套测试环境向内部多套测试环境发送回调请求时,环境测试服务只提供一个回调地址,导致无法根据回调地址自动切换到相应的内部测试环境进行测试,也进一步无法实现并行环境测试的问题。
5.本技术实施例提供的一种测试环境的切换方法,包括:
6.获取目标外部项目发送的回调请求;
7.判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同;其中,第一调用请求包括:在接收到回调请求之前,由内网的第一测试环境发送的调用请求;
8.若判定目标服务与第一服务相同,则继续判断回调请求的关键属性的值是否与第一调用请求的同一关键属性的值是否相同;
9.若判定回调请求的关键属性的值是否与第一调用请求的同一关键属性的值相同,则将回调请求反向代理到第一测试环境中。
10.上述技术方案中,外部测试环境的回调请求和内部第一测试环境的第一调用请求独立分离,但是二者的业务报文中必然具有一个相同的关键属性来进行关联,因此可以根据该关键属性的值是否相同来判断出第一调用请求对应的第一测试环境是否为与回调请求对应的外部测试环境对接的测试环境。因此,利用本实施例的方法,当测试环境服务与目标外部项目服务对接,通过调用请求调用目标外部环境的接口成功并等待外部环境回调方式后,测试服务给目标外部项目分配一个回调地址,之后,在接收到目标外部项目的回调请求时,测试服务能够识别目标外部项目的回调请求,并根据该回调请求来选择正确的内部测试环境来对外部项目和内部项目进行测试。并且,该方法首先判断回调请求的目的地址
所在的目标服务是否与第一调用请求的源地址所在的第一服务相同,只有在目标服务与第一服务相同的情况下,继续判断两个关键属性的值是否相同,若目标服务与第一服务不同,则无需进行关键属性的值的判断步骤,避免计算资源的浪费。
11.在一些可选的实施方式中,获取目标外部项目发送的回调请求之前,包括:
12.获取第一测试环境发送的第一调用请求;
13.判断第一调用请求是否用于调用外部项目的外部测试环境;
14.若判定第一调用请求用于调用外部项目的外部测试环境,则获取第一调用请求的关键属性的值。
15.上述技术方案中,若第一测试环境是用来和目标外部项目的外部测试环境对接的测试环境,那么,在获取回调请求之前,会获取第一测试环境发送的第一调用请求,并且根据第一调用请求获取其中的关键属性的值,该值用于与回调请求的同一关键属性的值进行比对。并且,若第一调用请求不是用于调用任何外部项目的外部测试环境的,那么也无需获取其中的关键属性的值,避免计算资源的浪费。
16.在一些可选的实施方式中,获取目标外部项目发送的回调请求之前,还包括:
17.获取内网的第二测试环境发送的第二调用请求;
18.确定第二调用请求用于调用外部项目的外部测试环境之后,获取第二调用请求的关键属性的值;
19.判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同之后,还包括:
20.若判定目标服务与第一服务不同,则判断目标服务是否与第二调用请求的源地址所在的第二服务相同;
21.若判定目标服务与第二服务不同,则将回调请求反向代理到预设内部测试环境中;
22.若判定目标服务与第二服务相同,则继续判断回调请求的关键属性的值是否与第二调用请求的同一关键属性的值是否相同:若判定回调请求的关键属性的值与第二调用请求的同一关键属性的值相同,则将回调请求反向代理到第二测试环境中。
23.上述技术方案中,通常内网的测试环境具有多个,若判断第一测试环境不是与目标外部测试环境对接的测试环境,则判断第二测试环境是否为与目标外部环境对接的测试环境,第二测试环境的判断与第一测试环境的判断类似,直到内网的所有测试环境均进行过一次判断,若内网的测试环境均不是与目标外部测试环境对接的测试环境,那么将回调请求反向代理到预设内部测试环境中,以实现测试。
24.在一些可选的实施方式中,判断回调请求的关键属性的值是否与第一调用请求的同一关键属性的值是否相同之后,还包括:
25.若判定回调请求的关键属性的值与第一调用请求的同一关键属性的值不相同,则将回调请求反向代理到预设内部测试环境中。
26.上述技术方案中,外部测试环境的回调请求和内部第一测试环境的第一调用请求独立分离,但是二者的业务报文中必然具有一个相同的关键属性来进行关联,因此可以根据该关键属性的值是否相同来最终判断第一调用请求对应的第一测试环境是否为与回调请求对应的外部测试环境对接的测试环境。
27.本技术实施例提供的一种测试环境的切换装置,包括:
28.获取模块,用于获取目标外部项目发送的回调请求;
29.第一判断模块,用于判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同;其中,第一调用请求包括:在接收到回调请求之前,由内网的第一测试环境发送的调用请求;
30.第二判断模块,用于在目标服务与第一服务相同时,判断回调请求的关键属性的值是否与第一调用请求的同一关键属性的值是否相同:若判定回调请求的关键属性的值是否与第一调用请求的同一关键属性的值相同,则将回调请求反向代理到第一测试环境中。
31.上述技术方案中,外部测试环境的回调请求和内部第一测试环境的第一调用请求独立分离,但是二者的业务报文中必然具有一个相同的关键属性来进行关联,因此可以根据该关键属性的值是否相同来判断出第一调用请求对应的第一测试环境是否为与回调请求对应的外部测试环境对接的测试环境。因此,利用本实施例的方法,当测试环境服务与目标外部项目服务对接,通过调用请求调用目标外部环境的接口成功并等待外部环境回调方式后,测试服务给目标外部项目分配一个回调地址,之后,在接收到目标外部项目的回调请求时,测试服务能够识别目标外部项目的回调请求,并根据该回调请求来选择正确的内部测试环境来对外部项目和内部项目进行测试。并且,该方法首先判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同,只有在目标服务与第一服务相同的情况下,继续判断两个关键属性的值是否相同,若目标服务与第一服务不同,则无需进行关键属性的值的判断步骤,避免计算资源的浪费。
32.在一些可选的实施方式中,该测试环境的切换装置还包括第三判断模块;
33.获取模块,还用于获取第一测试环境发送的第一调用请求;
34.第三判断模块,用于判断第一调用请求是否用于调用外部项目的外部测试环境:若判定第一调用请求用于调用外部项目的外部测试环境,则获取第一调用请求的关键属性的值。
35.在一些可选的实施方式中,获取模块,还用于获取内网的第二测试环境发送的第二调用请求;
36.第三判断模块,还用于确定第二调用请求用于调用外部项目的外部测试环境之后,获取第二调用请求的关键属性的值;
37.第一判断模块还用于:在判定目标服务与第二服务不同时,则继续判断目标服务是否与第二调用请求的源地址所在的第二服务相同:若判定目标服务与第二服务不同,则将回调请求反向代理到预设内部测试环境中。
38.在一些可选的实施方式中,第二判断模块还用于:
39.若判定回调请求的关键属性的值是否与第一调用请求的同一关键属性的值不相同,则将回调请求反向代理到预设内部测试环境中。
40.本技术实施例提供的一种测试环境的切换系统,系统用于从内网的多个测试环境中选择出用于与目标外部项目的外部测试环境对接的测试环境;
41.系统包括:
42.网络代理模块,用于获取目标外部项目发送的回调请求,以及获取第一测试环境发送的第一调用请求;
43.计算模块,用于:判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同;其中,第一调用请求包括:在接收到回调请求之前,由内网的第一测试环境发送的调用请求;
44.若判定目标服务与第一服务相同,则继续判断回调请求的关键属性的值是否与第一调用请求的同一关键属性的值是否相同;
45.若判定回调请求的关键属性的值是否与第一调用请求的同一关键属性的值相同,则将回调请求反向代理到第一测试环境中。
46.在一些可选的实施方式中,该测试环境的切换系统还包括:
47.存储模块,用于:存储第一调用请求的关键属性的值。
48.本技术实施例提供的一种电子设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如以上任一所述的方法。
49.本技术实施例提供的一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如以上任一所述的方法。
附图说明
50.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
51.图1为本技术实施例提供的一种测试环境的切换系统示意图;
52.图2为本技术实施例提供的切换系统的工作流程图示意图;
53.图3为本技术实施例提供的一种测试环境的切换方法步骤流程图;
54.图4为本技术实施例提供的一种测试环境的切换装置功能模块图;
55.图5为本技术实施例提供的电子设备的一种可能的结构示意图。
56.图标:1-网络代理模块,2-计算模块,3-存储模块,4-第一测试环境,5-第二测试环境,6-外部测试环境,7-切换系统,8-获取模块,9-第一判断模块,10-第二判断模块,11-第三判断模块,12-处理器,13-存储器,14-通信接口,15-通信总线。
具体实施方式
57.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
58.请参照图1,图1为本技术实施例提供的一种测试环境的切换系统7示意图,切换系统7用于从内网的多个测试环境中选择出用于与目标外部项目的外部测试环境6对接的测试环境;
59.具体地,该切换系统7包括网络代理模块1、计算模块2和存储模块3。其中,网络代理模块1,用于获取目标外部项目发送的回调请求,以及获取第一测试环境4发送的第一调用请求。计算模块2,用于:判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同;其中,第一调用请求包括:在接收到回调请求之前,由内网的第一测试环境4发送的调用请求;若判定目标服务与第一服务相同,则继续判断回调请求
的关键属性的值是否与第一调用请求的同一关键属性的值是否相同;若判定回调请求的关键属性的值是否与第一调用请求的同一关键属性的值相同,则将回调请求反向代理到第一测试环境4中。存储模块3,用于:存储第一调用请求的关键属性的值。
60.在一些可选的实施方式中,该切换系统7的工作流程如图2所示,图2为本技术实施例提供的切换系统7的工作流程图示意图。本实施例中内部测试环境仅包括第一测试环境4。
61.首先,切换系统7的网络代理模块1监听到内网的第一测试环境4发送的第一调用请求。其中,第一调用请求包括请求行、请求头,而请求行包括请求方法、请求资源路径、http协议版本,而请求头包括对客户端的环境描述、客户段请求的主机地址等信息。
62.若该第一调用请求调用了外部项目的测试环境,则进入下一步,否则返回该调用请求到第一测试环境4。
63.对于调用了外部项目测试环境的第一调用请求,切换系统7的计算模块2对该第一调用请求进行分析,分析出关键属性,并得到第一调用请求中关键属性的值,在存储模块3中存储第一调用请求中关键属性的值。
64.之后,切换系统7的网络代理模块1监听到外部测试环境6发送的回调请求,切换系统7的计算模块2判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同,若是,则进入下一步,若否,则将该回调请求反向代理到预设内部测试环境中。
65.对于与第一调用请求的源地址所在的第一服务相同的目标服务对应的回调请求,则继续判断回调请求中关键属性的值是否与存储模块3中存储的第一调用请求中关键属性的值相同,若是,则进入下一步,若否,则将该回调请求反向代理到预设内部测试环境中。
66.对于关键属性的值能够与存储模块3中的第一调用请求中关键属性的值相匹配的回调请求,将该回调请求反向代理到第一测试环境4中。
67.其中,对关键属性,进行举例说明如下:
68.公司a有业务需要付款,需要和支付宝进行对接,也即用户与公司a发生支付行为时,是通过支付宝进行支付的。在公司a发送一个订单支付请求时,支付宝将这一请求发送给用户,用户在付完款之后,支付宝回调用户的支付完成的请求给到公司a,如果回调请求显示订单支付成功,公司a则向用户发送货物。
69.在公司a给支付宝发送订单请求的报文中,一定会传一个订单id的参数,如果没有这个订单id参数,在用户完成付款时,支付宝将付款完成的请求进行回调时,由于不存在订单id参数,公司a在接受到支付宝的回调请求无法识别是哪一位用户支付成功,进而也就无法进行发货,因此,报文请求中的关键属性是一定会存在的,它是关联调用请求和回调请求的唯一路径,用于在回调时能够准确识别到回调请求的来源,在任何报文请求中都存在,所以关键属性不是额外配置的参数。
70.需要说明的是,在对请求中的报文中的关键属性进行分析之前,需要对报文进行反序列化操作,是因为当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送,发送方需要把这个对象转换为字节序列,才能在网络上传送。报文反序列化操作是对报文请求进行分析前的显而易见的步骤,本实施例在此不做过多赘述。
71.请参照图3,图3为本技术实施例提供的一种测试环境的切换方法步骤流程图,包括:
72.步骤100、获取目标外部项目发送的回调请求;具体地,还对该回调请求配置对应的内网地址。
73.步骤200、判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同;其中,第一调用请求包括:在接收到回调请求之前,由内网的第一测试环境4发送的调用请求;
74.若判定目标服务与第一服务相同,则进入步骤300;
75.步骤300、判断回调请求的关键属性的值是否与第一调用请求的同一关键属性的值是否相同;
76.若判定回调请求的关键属性的值是否与第一调用请求的同一关键属性的值相同,则进入步骤400;
77.步骤400、将回调请求反向代理到第一测试环境4中。
78.本技术实施例中,外部测试环境的回调请求和内部第一测试环境的第一调用请求独立分离,但是二者的业务报文中必然具有一个相同的关键属性来进行关联,因此可以根据该关键属性的值是否相同来判断出第一调用请求对应的第一测试环境4是否为与回调请求对应的外部测试环境6对接的测试环境。因此,利用本实施例的方法,当测试环境服务与目标外部项目服务对接,通过调用请求调用目标外部环境的接口成功并等待外部环境回调方式后,测试服务给目标外部项目分配一个回调地址,之后,在接收到目标外部项目的回调请求时,测试服务能够识别目标外部项目的回调请求,并根据该回调请求来选择正确的内部测试环境来对外部项目和内部项目进行测试。并且,该方法首先判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同,只有在目标服务与第一服务相同的情况下,继续判断两个关键属性的值是否相同,若目标服务与第一服务不同,则无需进行关键属性的值的判断步骤,避免计算资源的浪费。
79.在一些可选的实施方式中,获取目标外部项目发送的回调请求之前,包括:
80.步骤11、获取第一测试环境4发送的第一调用请求;
81.步骤12、判断第一调用请求是否用于调用外部项目的外部测试环境6;
82.若判定第一调用请求用于调用外部项目的外部测试环境6,则进入步骤13;
83.若判定第一调用请求不是用于调用外部项目的外部测试环境6,则进入步骤14;
84.步骤13、获取第一调用请求的关键属性的值。
85.步骤14、将第一调用请求返回第一测试环境4中。
86.本技术实施例中,若第一测试环境4是用来和目标外部项目的外部测试环境6对接的测试环境,那么,在获取回调请求之前,会获取第一测试环境4发送的第一调用请求,并且根据第一调用请求获取其中的关键属性的值,该值用于与回调请求的同一关键属性的值进行比对。并且,若第一调用请求不是用于调用任何外部项目的外部测试环境6的,那么也无需获取其中的关键属性的值,避免计算资源的浪费。
87.在一些可选的实施方式中,获取目标外部项目发送的回调请求之前,还包括:
88.步骤21、获取内网的第二测试环境5发送的第二调用请求;
89.步骤22、确定第二调用请求用于调用外部项目的外部测试环境6之后,获取第二调
用请求的关键属性的值。
90.对应的,在判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同之后,还包括:
91.若判定目标服务与第一服务不同,则判断目标服务是否与第二调用请求的源地址所在的第二服务相同;
92.若判定目标服务与第二服务不同,则将回调请求反向代理到预设内部测试环境中;
93.若判定目标服务与第二服务相同,则继续判断回调请求的关键属性的值是否与第二调用请求的同一关键属性的值是否相同:若判定回调请求的关键属性的值与第二调用请求的同一关键属性的值相同,则将回调请求反向代理到第二测试环境5中。
94.本技术实施例中,通常内网的测试环境具有多个,若判断第一测试环境4不是与目标外部测试环境6对接的测试环境,则判断第二测试环境5是否为与目标外部环境对接的测试环境,第二测试环境5的判断与第一测试环境4的判断类似,直到内网的所有测试环境均进行过一次判断,若内网的测试环境均不是与目标外部测试环境6对接的测试环境,那么将回调请求反向代理到预设内部测试环境中,以实现测试。
95.在一些可选的实施方式中,判断回调请求的关键属性的值是否与第一调用请求的同一关键属性的值是否相同之后,还包括:
96.若判定回调请求的关键属性的值与第一调用请求的同一关键属性的值不相同,则将回调请求反向代理到预设内部测试环境中。
97.本技术实施例中,回调请求和第一调用请求独立分离,但是二者的业务报文中必然具有一个相同的关键属性来进行关联,因此可以根据该关键属性的值是否相同来最终判断第一调用请求对应的第一测试环境4是否为与回调请求对应的外部测试环境6对接的测试环境。
98.请参照图4,图4为本技术实施例提供的一种测试环境的切换装置功能模块图,具体包括获取模块8、第一判断模块9和第二判断模块10。
99.其中,获取模块8,用于获取目标外部项目发送的回调请求。第一判断模块9,用于判断回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同;其中,第一调用请求包括:在接收到回调请求之前,由内网的第一测试环境4发送的调用请求。第二判断模块10,用于在目标服务与第一服务相同时,判断回调请求的关键属性的值是否与第一调用请求的同一关键属性的值是否相同:若判定回调请求的关键属性的值是否与第一调用请求的同一关键属性的值相同,则将回调请求反向代理到第一测试环境4中。
100.本技术实施例中,回调请求和第一调用请求独立分离,但是二者的业务报文中必然具有一个相同的关键属性来进行关联,因此可以根据该关键属性的值是否相同来判断出第一调用请求对应的第一测试环境4是否为与回调请求对应的外部测试环境6对接的测试环境。因此,利用本实施例的方法,当测试环境服务与目标外部项目服务对接,通过调用请求调用目标外部环境的接口成功并等待外部环境回调方式后,测试服务给目标外部项目分配一个回调地址,之后,在接收到目标外部项目的回调请求时,测试服务能够识别目标外部项目的回调请求,并根据该回调请求来选择正确的内部测试环境来对外部项目和内部项目进行测试。并且,该方法首先判断回调请求的目的地址所在的目标服务是否与第一调用请
求的源地址所在的第一服务相同,只有在目标服务与第一服务相同的情况下,继续判断两个关键属性的值是否相同,若目标服务与第一服务不同,则无需进行关键属性的值的判断步骤,避免计算资源的浪费。
101.在一些可选的实施方式中,还包括第三判断模块11。
102.其中,获取模块8,还用于获取第一测试环境4发送的第一调用请求。第三判断模块11,用于判断第一调用请求是否用于调用外部项目的外部测试环境6:若判定第一调用请求用于调用外部项目的外部测试环境6,则获取第一调用请求的关键属性的值。
103.在一些可选的实施方式中,获取模块8,还用于获取内网的第二测试环境5发送的第二调用请求。第三判断模块11,还用于确定第二调用请求用于调用外部项目的外部测试环境6之后,获取第二调用请求的关键属性的值。
104.第一判断模块9还用于:在判定目标服务与第二服务不同时,则继续判断目标服务是否与第二调用请求的源地址所在的第二服务相同:若判定目标服务与第二服务不同,则将回调请求反向代理到预设内部测试环境中。
105.在一些可选的实施方式中,第二判断模块10还用于:若判定回调请求的关键属性的值是否与第一调用请求的同一关键属性的值不相同,则将回调请求反向代理到预设内部测试环境中。
106.图5示出了本技术实施例提供的电子设备的一种可能的结构。参照图5,电子设备包括:处理器12、存储器13和通信接口14,这些组件通过通信总线15和/或其他形式的连接机构(未示出)互连并相互通讯。
107.其中,存储器13包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(random access memory,简称ram),只读存储器(read only memory,简称rom),可编程只读存储器(programmable read-only memory,简称prom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),电可擦除可编程只读存储器(electric erasable programmable read-only memory,简称eeprom)等。处理器12以及其他可能的组件可对存储器13进行访问,读和/或写其中的数据。
108.处理器12包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、微控制单元(micro controller unit,简称mcu)、网络处理器(network processor,简称np)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(neural-network processing unit,简称npu)、图形处理器(graphics processing unit,简称gpu)、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuits,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器12为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
109.通信接口14包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口14可以包括进行有线和/或无线通信的接口。
110.在存储器13中可以存储一个或多个计算机程序指令,处理器12可以读取并运行这些计算机程序指令,以实现本技术实施例提供的方法。
111.可以理解的,图5所示的结构仅为示意,电子设备还可以包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的结构。图5中所示的各组件可以采用硬件、软件或其组合实现。电子设备可能是实体设备,例如pc机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集。
112.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本技术实施例提供的方法。例如,计算机可读存储介质可以实现为图5中电子设备中的存储器13。
113.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
114.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
115.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
116.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
117.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:


1.一种测试环境的切换方法,其特征在于,包括:获取目标外部项目发送的回调请求;判断所述回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同;其中,所述第一调用请求包括:在接收到所述回调请求之前,由内网的第一测试环境发送的调用请求;若判定所述目标服务与第一服务相同,则继续判断所述回调请求的关键属性的值是否与所述第一调用请求的同一关键属性的值是否相同;若判定所述回调请求的关键属性的值是否与所述第一调用请求的同一关键属性的值相同,则将所述回调请求反向代理到所述第一测试环境中。2.如权利要求1所述的方法,其特征在于,所述获取目标外部项目发送的回调请求之前,包括:获取所述第一测试环境发送的所述第一调用请求;判断所述第一调用请求是否用于调用外部项目的外部测试环境;若判定所述第一调用请求用于调用外部项目的外部测试环境,则获取所述第一调用请求的关键属性的值。3.如权利要求1所述的方法,其特征在于,所述获取目标外部项目发送的回调请求之前,还包括:获取内网的第二测试环境发送的第二调用请求;确定所述第二调用请求用于调用外部项目的外部测试环境之后,获取所述第二调用请求的关键属性的值;所述判断所述回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同之后,还包括:若判定所述目标服务与第一服务不同,则判断所述目标服务是否与所述第二调用请求的源地址所在的第二服务相同;若判定所述目标服务与第二服务不同,则将所述回调请求反向代理到预设内部测试环境中;若判定所述目标服务与第二服务相同,则继续判断所述回调请求的关键属性的值是否与所述第二调用请求的同一关键属性的值是否相同:若判定所述回调请求的关键属性的值与所述第二调用请求的同一关键属性的值相同,则将所述回调请求反向代理到所述第二测试环境中。4.如权利要求1所述的方法,其特征在于,所述判断所述回调请求的关键属性的值是否与所述第一调用请求的同一关键属性的值是否相同之后,还包括:若判定所述回调请求的关键属性的值与所述第一调用请求的同一关键属性的值不相同,则将所述回调请求反向代理到预设内部测试环境中。5.一种测试环境的切换装置,其特征在于,包括:获取模块,用于获取目标外部项目发送的回调请求;第一判断模块,用于判断所述回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同;其中,所述第一调用请求包括:在接收到所述回调请求之前,由内网的第一测试环境发送的调用请求;
第二判断模块,用于在所述目标服务与第一服务相同时,判断所述回调请求的关键属性的值是否与所述第一调用请求的同一关键属性的值是否相同:若判定所述回调请求的关键属性的值是否与所述第一调用请求的同一关键属性的值相同,则将所述回调请求反向代理到所述第一测试环境中。6.如权利要求5所述的装置,其特征在于,还包括第三判断模块;获取模块,还用于获取所述第一测试环境发送的所述第一调用请求;第三判断模块,用于判断所述第一调用请求是否用于调用外部项目的外部测试环境:若判定所述第一调用请求用于调用外部项目的外部测试环境,则获取所述第一调用请求的关键属性的值。7.如权利要求6所述的装置,其特征在于,所述获取模块,还用于获取内网的第二测试环境发送的第二调用请求;所述第三判断模块,还用于确定所述第二调用请求用于调用外部项目的外部测试环境之后,获取所述第二调用请求的关键属性的值;所述第一判断模块还用于:在判定所述目标服务与第二服务不同时,则继续判断所述目标服务是否与第所述二调用请求的源地址所在的第二服务相同:若判定所述目标服务与第二服务不同,则将所述回调请求反向代理到预设内部测试环境中。8.如权利要求5所述的装置,其特征在于,所述第二判断模块还用于:若判定所述回调请求的关键属性的值是否与所述第一调用请求的同一关键属性的值不相同,则将所述回调请求反向代理到预设内部测试环境中。9.一种测试环境的切换系统,其特征在于,所述系统用于从内网的多个测试环境中选择出用于与目标外部项目的外部测试环境对接的测试环境;所述系统包括:网络代理模块,用于获取所述目标外部项目发送的回调请求,以及获取第一测试环境发送的第一调用请求;计算模块,用于:判断所述回调请求的目的地址所在的目标服务是否与第一调用请求的源地址所在的第一服务相同;其中,所述第一调用请求包括:在接收到所述回调请求之前,由内网的第一测试环境发送的调用请求;若判定所述目标服务与第一服务相同,则继续判断所述回调请求的关键属性的值是否与所述第一调用请求的同一关键属性的值是否相同;若判定所述回调请求的关键属性的值是否与所述第一调用请求的同一关键属性的值相同,则将所述回调请求反向代理到所述第一测试环境中。10.如权利要求9所述的系统,其特征在于,还包括:存储模块,用于:存储所述第一调用请求的关键属性的值。

技术总结


本申请提供一种测试环境的切换方法、装置及系统,外部测试环境的回调请求和内部第一测试环境的第一调用请求独立分离,但是二者的业务报文中必然具有一个相同的关键属性来进行关联,因此可以根据该关键属性的值是否相同来判断出第一调用请求对应的第一测试环境是否为与回调请求对应的外部测试环境对接的测试环境。当测试环境服务与目标外部项目服务对接,通过调用请求调用目标外部环境的接口成功并等待外部环境回调方式后,测试服务给目标外部项目分配一个回调地址,之后,在接收到目标外部项目的回调请求时,测试服务能够识别目标外部项目的回调请求,并根据该回调请求来选择正确的内部测试环境来对外部项目和内部项目进行测试。进行测试。进行测试。


技术研发人员:

杨冬

受保护的技术使用者:

中电信数智科技有限公司

技术研发日:

2022.11.24

技术公布日:

2023/3/24

本文发布于:2024-09-23 06:28:14,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/78606.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:回调   测试   环境   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议