CN105138464B - 一种程序代码处理方法和装置 - Google Patents
一种程序代码处理方法和装置 Download PDFInfo
- Publication number
- CN105138464B CN105138464B CN201510638971.3A CN201510638971A CN105138464B CN 105138464 B CN105138464 B CN 105138464B CN 201510638971 A CN201510638971 A CN 201510638971A CN 105138464 B CN105138464 B CN 105138464B
- Authority
- CN
- China
- Prior art keywords
- code
- annotation symbol
- annotation
- function
- symbol
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 63
- 238000003780 insertion Methods 0.000 claims description 36
- 230000037431 insertion Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 11
- 238000003672 processing method Methods 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 92
- 238000010586 diagram Methods 0.000 description 12
- 238000002955 isolation Methods 0.000 description 10
- 238000012795 verification Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000505 pernicious effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种程序代码处理方法和装置,方法包括:接收待测试的包含验证码代码的第一程序代码;遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码;确定所述验证码代码的开始位置和结束位置;在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配;将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。应用本发明实施例可以将验证码代码注释掉,保证自动化测试的正常进行。
Description
技术领域
本发明涉及信息安全领域,特别涉及一种程序代码处理方法和装置。
背景技术
近年来,随着网络的快速发展,往往会出现某一特定用户利用特定程序暴力破解方式对论坛、社交网站、购物网站等网络平台进行不断的恶意登录尝试。为了保障用户的信息安全,针对这些恶性的对网络平台进行不断的登录尝试,网络平台一般会在用户登录时,要求用户输入验证码。验证码虽然增加了系统的安全性,但对测试人员来说,在测试人员对这些网络平台进行自动化测试时,仍需手动输入验证码。可见,验证码会阻扰自动化测试的正常进行,为测试人员带来不便。现有技术中还未出现解决这一问题的方案。
发明内容
本发明实施例的目的在于提供一种程序代码处理方法和装置,可以将验证码代码注释掉,以便于自动化测试的正常进行。
为达到上述目的,本发明实施例公开了一种程序代码处理方法,所述方法包括步骤:
接收待测试的包含验证码代码的第一程序代码;
遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码;
确定所述验证码代码的开始位置和结束位置;
在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配;
将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。
较佳的,在所述确定所述验证码代码的开始位置和结束位置之后,所述方法还包括:
在所述开始位置插入跳转函数,所述跳转函数的跳转位置为所述结束位置之后的程序代码;
所述将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试,包括:
将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。
较佳的,在所述将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试之后,所述方法还包括:
删除所述插入的跳转函数及添加的所述第一注释符号和所述第二注释符号。
较佳的,在所述在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号之后,还包括:
运行所述添加了所述第一注释符号和所述第二注释符号的第一程序代码,判断所述添加了所述第一注释符号和所述第二注释符号的第一程序代码的运行结果与未添加所述第一注释符号和所述第二注释符号的第一程序代码的运行结果是否一致,
若一致,再执行所述将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具中进行测试的步骤。
较佳的,在所述将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试之后,还包括:
删除添加的所述第一注释符号和添加的所述第二注释符号。
为达到上述目的,本发明实施例公开了一种程序代码处理装置,所述装置包括:
接收模块:用于接收待测试的包含验证码代码的第一程序代码;
识别模块:用于遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码;
位置确定模块:用于确定所述验证码代码的开始位置和结束位置;
注释添加模块:用于在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配;
发送模块:用于将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。
较佳的,所述装置还包括跳转函数插入模块,
所述跳转函数插入模块:用于在所述位置确定模块确定所述验证码代码的开始位置和结束位置之后,在所述开始位置插入跳转函数,所述跳转函数的跳转位置为所述结束位置之后的程序代码;
所述发送模块具体用于:
将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的所述第一程序代码发送到自动化测试工具进行测试。
较佳的,所述装置还包括跳转函数删除模块,
所述跳转函数删除模块:用于在所述发送模块将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试之后,删除所述插入的跳转函数及添加的所述第一注释符号和所述第二注释符号。
较佳的,所述装置还包括运行判断模块,
所述运行判断模块:用于在所述注释添加模块在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号之后,运行所述添加了所述第一注释符号和所述第二注释符号的第一程序代码,判断所述添加了所述第一注释符号和所述第二注释符号的第一程序代码的运行结果与未添加所述第一注释符号和所述第二注释符号的第一程序代码的运行结果是否一致,若一致,再触发所述发送模块。
较佳的,所述装置还包括注释符号删除模块,
所述删除注释模块:用于在所述发送模块将添加了所述第一注释符号和所述第二注释符号的所述第一程序代码发送到自动化测试工具进行测试之后,删除添加的所述第一注释符号和添加的所述第二注释符号。
由上述的技术方案可见,本发明实施例提供了一种程序代码处理方法和装置,方案包括:接收待测试的包含验证码代码的第一程序代码;遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码;确定所述验证码代码的开始位置和结束位置;在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配;将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。应用本发明实施例,可以根据预设的验证码代码特征,识别验证码代码,并将所述验证码代码用相关注释符号注释掉,当程序运行时,验证码代码不会被执行运行,因此添加注释符号可以将验证码代码的验证功能隔离,以方便测试人员对第一程序代码进行自动化测试,保证自动化测试的正常进行。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种程序代码处理方法的流程示意图;
图2为本发明实施例提供的第二种程序代码处理方法的流程示意图;
图3为本发明实施例提供的第三种程序代码处理方法的流程示意图;
图4为本发明实施例提供的一种程序代码处理装置的结构示意图;
图5为本发明实施例提供的第二种程序代码处理装置的结构示意图;
图6为本发明实施例提供的第三种程序代码处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,对本发明进行详细说明。
图1为本发明实施例提供的一种程序代码处理方法的流程示意图,可以包括如下步骤:
S101:接收待测试的包含验证码代码的第一程序代码。
具体例如:接收待测试的包含有验证码代码的程序代码,将所述程序代码确定为第一程序代码。编写的所述验证码代码中包含的验证码的类型不受限制,验证码可以是图片验证码、语音验证码和智力测试答题验证码。所述图片验证码可以为数字类,字母类,汉字类,数字类、字母类、汉字类两类的混合或者三类的混合;所述智力测试答题验证码可以是从多张图片中选出指定的类型图片,也可以是提供计算公式,填写计算的结果。
需要说明的是,本申请中并不对编写的验证码代码中包含的验证码的类型做限定,任何可能的包含的验证码的类型都可以应用于本申请中。
S102:遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码。
具体例如:遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码。其中所述预设的验证码代码特征可以为开发人员在编写验证码代码时惯用的函数的函数名或者惯用的函数组合。通过所述开发人员在编写验证码代码时惯用的函数的函数名或者惯用的函数组合,识别验证码代码。
例如:验证码代码如下:
其中,函数“function getRand”和函数“function creatCode”为开发人员在编写验证码代码时惯用的函数,将其预设为验证码代码特征,通过识别函数“functiongetRand”和函数“function creatCode”,识别验证码代码。
S103:确定所述验证码代码的开始位置和结束位置。
例如:通过现有技术,识别验证码代码的开始位置和结束位置,识别的标志可以为成对的“{}”,现有技术在此不再进行赘述。
S104:在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配。
具体例如:确定了所述验证码代码的开始位置和结束位置之后,在所述开始位置添加第一注释符号“/*”;在所述结束位置添加第二注释符号“*/”,实际情况中,还可以在所述整段验证码代码中的每行代码的开头添加“//”符号,起到注释的作用。
S105:将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。
将在所述开始位置添加第一注释符号“/*”;在所述结束位置添加第二注释符号“*/”的第一程序代码,即将所述验证码代码的验证功能隔离掉的第一程序代码发送到自动化测试工具进行测试。
当然,考虑到程序代码的相关性和连接性,在注释掉验证码代码后,还要检验所述验证码代码所在的程序代码的运行结果是否与所述程序代码在注释掉所述验证码代码之前的运行结果一致,一致时,则证明注释掉验证码代码后对所述程序代码没有影响,则可以继续进行自动化测试工作。
具体的,在另一实施例中,步骤S104之后,还可以包括:
运行所述添加了所述第一注释符号和所述第二注释符号的第一程序代码,判断所述添加了所述第一注释符号和所述第二注释符号的第一程序代码的运行结果与未添加所述第一注释符号和所述第二注释符号的第一程序代码的运行结果是否一致,若一致,再执行所述将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具中进行测试的步骤。
其中,所述运行结果可以从代码层进行判断,判断注释掉验证码代码的第一程序代码是否可以正常运行,运行的结果是否与注释之前的运行结果一致,若一致,则继续进行自动化测试;也可以从功能上判断,判断注释掉验证码代码的第一程序代码除在用户登陆时不需要填写验证码外,所述第一程序代码支持的系统平台的其他功能是否能正常进行,若能则继续进行自动化测试。
当然,也许还会出现运行结果不一致的情况,此时,会重新返回步骤S102,重新识别验证码代码,继续后续的确定验证码代码的开始位置和结束位置,添加注释符号的步骤,再次进行运行判断,若不一致,重复此过程,对于重复次数可以预先设置阈值,超过预先设置阈值时,若运行结果还是不一致时,则返回预设值,提示用户手动修改注释。
当然自动化测试过程完成后,为保证待测试的包含验证码代码的第一程序代码的完整性,还要将注释掉的验证码代码还原,这时,就需要将所添加的第一注释符号和第二注释符号作删除处理。
具体的,在本发明其他实施例中,步骤S105之后,还可以包括:
删除添加的所述第一注释符号和添加的所述第二注释符号。
例如:根据步骤S104,在验证码代码的开始位置添加了第一注释符号“/*”,在验证码代码的结束位置添加了第二注释符号“*/”。此时就将添加的第一注释符号“/*”和添加的第二注释符号“*/”删除。
当然,为保证待测试程序的安全性,在删除第一注释符号、第二注释符号之后,还可以对待测试程序进行运行判断验证。
应用图1所述实施例,可以根据预设的验证码代码特征识别验证码代码,并确定验证码代码的开始位置和结束位置,在开始位置添加第一注释符号,在结束位置添加第二注释符号,由于添加了第一注释符号和第二注释符号以后,第一注释符号和第二注释符号之间的验证码代码变为了注释,当程序运行时,验证码代码不会被执行运行,因此添加注释符号可以实现对验证码代码的验证功能的隔离,方便测试人员进行自动化测试,保证自动化测试的正常进行。
图2为本发明实施例提供的第二种程序代码处理方法的流程示意图,可以包括如下步骤:
S101:接收待测试的包含验证码代码的第一程序代码。
S102:遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码。
S103:确定所述验证码代码的开始位置和结束位置。
S204:在验证码代码的所述开始位置插入跳转函数,所述跳转函数的跳转位置为所述结束位置之后的程序代码。
具体例如:待测试的第一程序代码A,包含验证码代码a,在验证码代码a的开始位置之情前插入跳转函数b,使所述程序A运行到验证码代码a之前时,运行跳转函数,使程序直接运行验证码代码a后面的程序代码,插入条转函数的作用与添加注释符号的作用相似,都可以起到将验证码代码的验证功能隔离的作用,为测试人员提供方便,保证后续的自动化测试的正常进行。
S205:将插入所述跳转函数的第一程序代码发送到自动化测试工具进行测试。
当然,考虑到程序代码的相关性和连接性,在隔离掉验证码代码后,还要检验所述验证码代码所在的程序代码的运行结果是否与所述程序代码在注释掉所述验证码代码之前的运行结果一致,一致时,则证明注释掉验证码代码后对所述程序代码没有影响,则可以继续进行自动化测试工作
具体的,在另一实施例中,步骤S204之后,还可以包括:
运行所述在验证码代码的开始位置插入跳转函数的第一程序代码,判断所述在验证码代码的开始位置插入跳转函数的第一程序代码的运行结果与所述第一程序代码的运行结果是否一致,若一致,再执行步骤S205。
其中,所述运行结果可以从代码层进行判断,判断插入跳转函数的第一程序代码是否可以正常运行,运行的结果是否与插入跳转函数之前的运行结果一致,若一致,则继续进行自动化测试;也可以从功能上判断,判断插入跳转函数的第一程序代码除在用户登陆时不需要填写验证码外,所述第一程序代码支持的系统平台的其他功能是否能正常进行,若能则继续进行自动化测试。
当然,也许还会出现运行结果不一致的情况,此时,会重新返回步骤S102,重新识别验证码代码,继续后续的确定验证码代码的开始位置和结束位置,插入跳转函数的步骤,再次进行运行判断,若不一致,重复此过程,对于重复次数可以预先设置阈值,超过预先设置阈值时,若运行结果还是不一致时,则返回预设值,提示用户手动修改、添加跳转函数。
当然自动化测试过程完成后,为保证待测试的包含验证码代码的第一程序代码的完整性,还要将隔离的验证码代码的验证功能还原,这时,就需要将插入的跳转函数作删除处理。
具体的,在本发明的另一实施例中,步骤S205之后,还可以包括:
删除插入的跳转函数。
当然,为保证待测试程序的安全性,在删除跳转函数之后,还可以对待测试的第一程序代码进行运行判断验证。
应用图2所述实施例,可以根据预设的验证码代码特征识别验证码代码,并确定验证码代码的开始位置和结束位置,在开始位置插入跳转函数,使程序运行时验证码代码被跳转,不会运行,因此插入跳转函数可以实现对验证码代码的验证功能的隔离,方便测试人员进行自动化测试,保证自动化测试的正常进行。
图3为本发明实施例提供的第三种程序代码处理方法的流程示意图,可以包括如下步骤:
S101:接收待测试的包含验证码代码的第一程序代码。
S102:遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码。
S103:确定所述验证码代码的开始位置和结束位置。
S104:在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配。
S305:在验证码代码添加的第一注释符号的位置之前插入跳转函数,所述跳转函数的跳转位置为添加的第二注释符号之后的程序代码。
S306:将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。
具体的,另一实施例中,在步骤S305之后,还可以包括:
运行将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码,判断所述将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码的运行结果与所述第一程序代码的运行结果是否一致,若一致,再执行步骤S306。
其中,所述运行结果可以从代码层进行判断,判断添加注释符号以及插入跳转函数的第一程序代码是否可以正常运行,运行的结果是否与添加注释符号以及插入跳转函数之前的运行结果一致,若一致,则继续进行自动化测试;也可以从功能上判断,判断添加注释符号以及插入跳转函数的第一程序代码除在用户登陆时不需要填写验证码外,所述第一程序代码支持的系统平台的其他功能是否能正常进行,若能则继续进行自动化测试。
当然,也许还会出现运行结果不一致的情况,此时,会重新返回步骤S102,重新识别验证码代码,继续后续的确定验证码代码的开始位置和结束位置,添加注释符号及插入跳转函数的步骤,再次进行运行判断,若不一致,重复此过程,对于重复次数可以预先设置阈值,超过预先设置阈值时,若运行结果还是不一致时,则返回预设值,提示用户手动修改注释、添加跳转函数。
当然自动化测试过程完成后,为保证待测试的包含验证码代码的第一程序代码的完整性,还要将隔离的验证码代码的验证功能还原,这时,就需要将添加的第一注释符号、第二注释符号以及插入的跳转函数作删除处理。
具体的,在本发明的另一实施例中,步骤S306之后,还可以包括:
删除添加的第一注释符号和第二注释符号以及插入的跳转函数。
当然,为保证待测试程序的安全性,在删除第一注释符号、第二注释符号和跳转函数之后,还可以对待测试程序进行运行判断验证。
应用图3所述实施例,可以根据预设的验证码代码特征识别验证码代码,并确定验证码代码的开始位置和结束位置,在开始位置添加第一注释符号和插入跳转函数,使程序运行时验证码代码不被运行,因此添加注释符号及插入跳转函数可以更好的实现对验证码代码的验证功能的隔离,方便测试人员进行自动化测试,保证自动化测试的正常进行。
图4为本发明实施例提供的一种程序代码处理装置的结构示意图,与图1所述流程相对应,该装置可以包括:接收模块401、识别模块402、位置确定模块403、注释符号添加模块404和发送模块405,
接收模块401:用于接收待测试的包含验证码代码的第一程序代码。
识别模块402:用于遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码。
位置确定模块403:用于确定所述验证码代码的开始位置和结束位置。
注释符号添加模块404:用于在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配。
发送模块405:用于将添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。
具体的,所述装置还可以包括运行判断模块(图中未标出),
所述运行判断模块:用于在所述注释添加模块在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号之后,运行所述添加了所述第一注释符号和所述第二注释符号的第一程序代码,判断所述添加了所述第一注释符号和所述第二注释符号的第一程序代码的运行结果与未添加所述第一注释符号和所述第二注释符号的第一程序代码的运行结果是否一致,若一致,再触发所述发送模块405。
具体的,在另一实施例中,所述装置还包括删除模块(图中未标出),
所述删除模块:用于删除添加的所述第一注释符号和添加的所述第二注释符号。
应用图4所述实施例,可以根据预设的验证码代码特征识别验证码代码,并确定验证码代码的开始位置和结束位置,在开始位置添加第一注释符号,在结束位置添加第二注释符号,由于添加了第一注释符号和第二注释符号以后,第一注释符号和第二注释符号之间的验证码代码变为了注释,当程序运行时,验证码代码不会被执行运行,因此添加注释符号可以实现对验证码代码的验证功能的隔离,方便测试人员进行自动化测试,保证自动化测试的正常进行。
图5本发明实施例提供的第二种程序代码处理装置的结构示意图,与图2所述流程相对应,所述装置包括:接收模块401、识别模块402、位置确定模块403、跳转函数插入模块504和发送模块505,
接收模块401:用于接收待测试的包含验证码代码的第一程序代码。
识别模块402:用于遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码。
位置确定模块403:用于确定所述验证码代码的开始位置和结束位置。
跳转函数插入模块504:用于在验证码代码的所述开始位置插入跳转函数,所述跳转函数的跳转位置为所述结束位置之后的程序代码。
发送模块505:用于将插入所述跳转函数的第一程序代码发送到自动化测试工具进行测试。
具体的,在本发明另一实施例中,所述装置还可以包括第二运行判断模块(图中未标出),
所述第二运行判断模块:用于运行所述在验证码代码的开始位置插入跳转函数的第一程序代码,判断所述在验证码代码的开始位置插入跳转函数的第一程序代码的运行结果与所述第一程序代码的运行结果是否一致,若一致,再触发发送模块505。
具体的,在另一实施例中,所述装置还包括第二删除模块(图中未标出),
所述第二删除模块:用于删除插入的跳转函数。
应用图5所述实施例,可以根据预设的验证码代码特征识别验证码代码,并确定验证码代码的开始位置和结束位置,在开始位置插入跳转函数,使程序运行时验证码代码被跳转,不会运行,因此插入跳转函数可以实现对验证码代码的验证功能的隔离,方便测试人员进行自动化测试,保证自动化测试的正常进行。
图6为本发明实施例提供的第三种程序代码处理装置的结构示意图,与图3所述流程相对应,所述装置包括:接收模块401、识别模块402、位置确定模块403、注释符号添加模块404、跳转函数插入模块605和发送模块606,
接收模块401:用于接收待测试的包含验证码代码的第一程序代码。
识别模块402:用于遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码。
位置确定模块403:用于确定所述验证码代码的开始位置和结束位置。
注释符号添加模块404:用于在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配。
跳转函数插入模块605:用于在验证码代码添加的第一注释符号的位置之前插入跳转函数,所述跳转函数的跳转位置为添加的第二注释符号之后的程序代码。
发送模块606:用于将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。
具体的,在本发明另一实施例中,所述装置还可以包括第三运行判断模块(图中未标出),
所述第三运行判断模块:用于运行将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码,判断所述将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码的运行结果与所述第一程序代码的运行结果是否一致,若一致,再触发发送模块606。
具体的,在另一实施例中,所述装置还包括第三删除模块(图中未标出),
所述第三删除模块:用于删除添加的第一注释符号和第二注释符号以及插入的跳转函数。
应用图6所述实施例,可以根据预设的验证码代码特征识别验证码代码,并确定验证码代码的开始位置和结束位置,在开始位置添加第一注释符号和插入跳转函数,使程序运行时验证码代码不被运行,因此添加注释符号及插入跳转函数可以更好的实现对验证码代码的验证功能的隔离,方便测试人员进行自动化测试,保证自动化测试的正常进行。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (4)
1.一种程序代码处理方法,其特征在于,所述方法包括步骤:
接收待测试的包含验证码代码的第一程序代码;
遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码;
确定所述验证码代码的开始位置和结束位置;
在所述开始位置插入跳转函数,所述跳转函数的跳转位置为所述结束位置之后的程序代码;
在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配;
运行插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码,判断所述插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码的运行结果与所述第一程序代码的运行结果是否一致;
若不一致,返回执行所述遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码的步骤;
直至当确定重复次数超过预先设置阈值时,若运行结果还是不一致时,则返回预设值,提示用户手动修改注释、添加跳转函数;
若一致,将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试。
2.根据权利要求1所述的方法,其特征在于,在所述将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试之后,所述方法还包括:
删除所述插入的跳转函数及添加的所述第一注释符号和所述第二注释符号。
3.一种程序代码处理装置,其特征在于,所述装置包括:
接收模块:用于接收待测试的包含验证码代码的第一程序代码;
识别模块:用于遍历所述第一程序代码,根据预设的验证码代码特征,识别验证码代码;
位置确定模块:用于确定所述验证码代码的开始位置和结束位置;
跳转函数插入模块:用于在所述位置确定模块确定所述验证码代码的开始位置和结束位置之后,在所述开始位置插入跳转函数,所述跳转函数的跳转位置为所述结束位置之后的程序代码;
注释添加模块:用于在验证码代码的所述开始位置添加第一注释符号,在所述结束位置添加第二注释符号,其中,所述第一注释符号和所述第二注释符号为一组注释符号且二者相匹配;
运行判断模块,用于运行插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码,判断所述插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码的运行结果与所述第一程序代码的运行结果是否一致;若一致,触发发送模块,若不一致,触发所述识别模块,直至当确定重复次数超过预先设置阈值时,若运行结果还是不一致时,则返回预设值,提示用户手动修改注释、添加跳转函数;
发送模块:用于将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的所述第一程序代码发送到自动化测试工具进行测试。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括跳转函数删除模块,
所述跳转函数删除模块:用于在所述发送模块将插入所述跳转函数且添加了所述第一注释符号和所述第二注释符号的第一程序代码发送到自动化测试工具进行测试之后,删除所述插入的跳转函数及添加的所述第一注释符号和所述第二注释符号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510638971.3A CN105138464B (zh) | 2015-09-30 | 2015-09-30 | 一种程序代码处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510638971.3A CN105138464B (zh) | 2015-09-30 | 2015-09-30 | 一种程序代码处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105138464A CN105138464A (zh) | 2015-12-09 |
CN105138464B true CN105138464B (zh) | 2018-06-29 |
Family
ID=54723818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510638971.3A Active CN105138464B (zh) | 2015-09-30 | 2015-09-30 | 一种程序代码处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105138464B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357734A (zh) * | 2017-07-19 | 2017-11-17 | 中国银行股份有限公司 | 一种单元测试方法和装置 |
CN108196841B (zh) * | 2018-01-03 | 2021-04-27 | 武汉斗鱼网络科技有限公司 | 注释符号添加方法、装置及电子设备 |
CN109492350A (zh) * | 2018-11-09 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种软件演示程序构造方法、系统、设备及计算机介质 |
CN110727703B (zh) * | 2019-09-23 | 2022-10-11 | 苏宁云计算有限公司 | 一种自动识别json代码中注释的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876940A (zh) * | 2009-11-30 | 2010-11-03 | 北京飞天诚信科技有限公司 | 一种自动化测试方法和装置 |
CN103092754A (zh) * | 2013-01-07 | 2013-05-08 | 上海斐讯数据通信技术有限公司 | 一种远程多设备情况的自动化测试方法 |
JP5379911B2 (ja) * | 2010-09-28 | 2013-12-25 | 株式会社野村総合研究所 | 動作検証装置、動作検証方法および動作検証プログラム |
CN103593283A (zh) * | 2013-08-02 | 2014-02-19 | 北京君正集成电路股份有限公司 | 一种测试验证方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5549734B2 (ja) * | 2010-08-18 | 2014-07-16 | 富士通株式会社 | 試験方法、演算処理装置、試験プログラム、試験プログラム生成方法、試験プログラム生成装置、及び試験プログラム生成プログラム |
-
2015
- 2015-09-30 CN CN201510638971.3A patent/CN105138464B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876940A (zh) * | 2009-11-30 | 2010-11-03 | 北京飞天诚信科技有限公司 | 一种自动化测试方法和装置 |
JP5379911B2 (ja) * | 2010-09-28 | 2013-12-25 | 株式会社野村総合研究所 | 動作検証装置、動作検証方法および動作検証プログラム |
CN103092754A (zh) * | 2013-01-07 | 2013-05-08 | 上海斐讯数据通信技术有限公司 | 一种远程多设备情况的自动化测试方法 |
CN103593283A (zh) * | 2013-08-02 | 2014-02-19 | 北京君正集成电路股份有限公司 | 一种测试验证方法及装置 |
Non-Patent Citations (3)
Title |
---|
"web自动化测试中的验证码问题";臆想国度;《http://blog.sina.com.cn/s/blog_6de0a1300101kl3o.html》;20140103;1-5 * |
"自动化测试中的验证码处理方法小总结";ftdtest;《http://www.51testing.com/html/42/15001542-855774.html》;20131227;1-3 * |
"自动化测试如何解决验证码的问题";虫师;《http://www.cnblogs.com/fnng/p/3606934.html》;20140318;第1页1-19行 * |
Also Published As
Publication number | Publication date |
---|---|
CN105138464A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138464B (zh) | 一种程序代码处理方法和装置 | |
CN105468760B (zh) | 对人脸图片进行标注的方法和装置 | |
CN107291737B (zh) | 敏感图像识别方法及装置 | |
Gupta et al. | PHP-sensor: a prototype method to discover workflow violation and XSS vulnerabilities in PHP web applications | |
CN106713370B (zh) | 一种身份认证方法、服务器和移动终端 | |
CN107622054A (zh) | 文本数据的纠错方法及装置 | |
CN103164698B (zh) | 文本指纹库生成方法及装置、文本指纹匹配方法及装置 | |
WO2008107997A1 (ja) | 帳票種識別プログラム、帳票種識別方法および帳票種識別装置 | |
CN110866258B (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
CN105824825B (zh) | 一种敏感数据识别方法和装置 | |
CN104598122B (zh) | 一种终端 | |
CN107995170A (zh) | 身份验证方法、装置、计算机设备和计算机可读存储介质 | |
CN107330311A (zh) | 一种人机识别的方法和设备 | |
CN111865960A (zh) | 一种网络入侵场景分析处理方法、系统、终端及存储介质 | |
WO2020125477A1 (zh) | 一种提升爬虫识别召回率的方法、装置、介质及设备 | |
CN106791036A (zh) | 一种信息处理方法、装置及移动终端 | |
CN106874758A (zh) | 一种识别文档代码的方法和装置 | |
KR101694290B1 (ko) | 게임봇 검출 장치 및 방법 | |
CN102902766A (zh) | 检测词汇的方法与装置 | |
CN115827610A (zh) | 一种有效负荷的检测方法及装置 | |
CN108090364B (zh) | 一种数据泄漏源的定位方法及系统 | |
CN106503080A (zh) | 信息发布方法和装置 | |
CN103093141A (zh) | 安全主控芯片cos的下载方法、引导方法及装置 | |
CN113312258A (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN108985059B (zh) | 一种网页后门检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180911 Address after: 100020 15 Guanghua Road, Chaoyang District, Beijing, 15A6 15 Patentee after: Beijing Financial Technology Co., Ltd. Address before: 350003 Fujian Fuzhou Software Park, A 25, CICC. Patentee before: Shen Wence |