CN111752593A - 动态获取浏览器代理地址方法、装置、设备及存储介质 - Google Patents
动态获取浏览器代理地址方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111752593A CN111752593A CN202010462889.0A CN202010462889A CN111752593A CN 111752593 A CN111752593 A CN 111752593A CN 202010462889 A CN202010462889 A CN 202010462889A CN 111752593 A CN111752593 A CN 111752593A
- Authority
- CN
- China
- Prior art keywords
- browser
- version
- webdriver
- servlet
- script
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5076—Update or notification mechanisms, e.g. DynDNS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/59—Network arrangements, protocols or services for addressing or naming using proxies for addressing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例属于信息安全领域,涉及一种动态获取浏览器代理地址方法、装置、计算机设备及存储介质,其中所述方法包括:在接收到测试任务请求时,获取测试任务请求中包含的浏览器标识,并启动浏览器标识对应的浏览器,加载预设的javascript脚本;通过预设的javascript脚本获取浏览器的版本信息,并将版本信息传送给服务连接器Servlet;采用服务连接器Servlet将版本信息写入预设的脚本中,得到执行脚本;通过服务连接器Servlet驱动执行脚本,遍历网络驱动程序webdriver对应的文件,识别出版本信息对应的网络驱动程序webdriver的版本,作为标准版本;通过服务连接器Servlet根据标准版本,驱动浏览器,获取浏览器的代理地址。本申请实现动态获取浏览器的代理地址,提高代理地址获取的准确性和效率。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及动态获取浏览器代理地址方法、装置、设备及存储介质。
背景技术
随着社会及科技的发展,人们越来越注重信息交流和沟通的及时性。网络时代的到来,为企业的信息交流构建了桥梁。利用网络传播信息、接收信息,进行远程协作与交流,在为企业的运营与发展带来便利的同时,也给企业管理造成了一定程度的隐患,层出不穷的网络病毒、人员流动带来的信息外漏,始终对企业的内部信息资源构成威胁。
目前,出于安全性的考虑,在企业内部员工需要通过代理的方式连接互联网,以便方便统一管理,但考虑到不同部门采用的代理方式有所区别,需要配置一些安全校验措施确保代理地址的合法性。但是目前安全测试,获取浏览器代理地址的手段是根据地址解析请求中的机器名从高速缓存服务器中进行查询,以获取主机客户端的机器名所对应的DNS分组,然后根据地址解析请求中的域名从获取到的DNS分组进行查询,以获取域名所对应的代理地址,但是由于浏览器的代理地址是动态变化的,通过固定的域名来获取浏览器的代理地址,无法保证获取的代理地址的准确性。现亟需一种能获取浏览器代理地址的方法,以提高获取浏览器的代理地址的准确性。
发明内容
本申请实施例的目的在于提出一种动态获取浏览器代理地址方法,以提高获取浏览器的代理地址的准确性。
为了解决上述技术问题,本申请实施例提供一种动态获取浏览器代理地址方法,包括:
在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识,并启动所述浏览器标识对应的浏览器,加载预设的javascript脚本;
通过所述预设的javascript脚本获取所述浏览器的版本信息,并将所述版本信息传送给服务连接器Servlet;
采用所述服务连接器Servlet将所述版本信息写入预设的脚本中,得到执行脚本;
通过所述服务连接器Servlet驱动所述执行脚本,以使所述执行脚本遍历网络驱动程序webdriver对应的资源文件,从所述资源文件中获取所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本;
通过所述服务连接器Servlet根据所述标准版本,驱动所述浏览器,获取所述浏览器的代理地址。
进一步的,所述在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识,并启动所述浏览器标识对应的浏览器,加载预设的javascript脚本包括:
在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识;
获取所述浏览器标识对应的所述网络驱动程序webdriver,并设置所述网络驱动程序webdriver对应的驱动程序接口;
通过所述网络驱动程序webdriver访问所述浏览器的驱动程序接口,启动浏览器,并加载预设的javascript脚本。
进一步的,所述通过所述服务连接器Servlet驱动所述执行脚本,以使所述执行脚本遍历网络驱动程序webdriver对应的资源文件,从所述资源文件中获取所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本包括:
根据所述执行脚本,通过所述服务连接器Servlet驱动,遍历所述网络驱动程序webdriver版本对应的文件;
通过执行exec函数族的方式,识别出所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本。
进一步的,所述通过执行exec函数族的方式,识别出所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本还包括:
通过预设仓库的下载的方式,加载所述网络驱动程序webdriver;
通过浏览器自动化测试框架selenium驱动所述执行脚本与所述网络驱动程序webdriver进行版本信息匹配;
若存在与所述执行脚本中所述版本信息相匹配的所述网络驱动程序webdriver版本,则输出所述版本信息相匹配的所述网络驱动程序webdriver版本,作为标准版本。
进一步的,所述通过所述服务连接器Servlet根据所述标准版本,驱动所述浏览器,获取所述浏览器的代理地址之后,所述方法还包括:
将所述浏览器的代理地址作为测试地址,并将所述测试地址存入测试工具中,并通过所述测试工具,对所述测试地址进行安全测试。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种动态获取浏览器代理地址装置,包括:
浏览器加载模块,用于在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识,并启动所述浏览器标识对应的浏览器,加载预设的javascript脚本;
版本信息获取模块,用于通过所述预设的javascript脚本获取所述浏览器的版本信息,并将所述版本信息传送给服务连接器Servlet;
执行脚本获取模块,用于采用所述服务连接器Servlet将所述版本信息写入预设的脚本中,得到执行脚本;
标准版本识别模块,用于通过所述服务连接器Servlet驱动所述执行脚本,以使所述执行脚本遍历网络驱动程序webdriver对应的资源文件,从所述资源文件中获取所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本;
代理地址获取模块,用于通过所述服务连接器Servlet根据所述标准版本,驱动所述浏览器,获取所述浏览器的代理地址。
进一步的,所述浏览器加载模块包括:
浏览器标识获取单元,用于在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识;
网络驱动程序设置单元,用于获取所述浏览器标识对应的所述网络驱动程序webdriver,并设置所述网络驱动程序webdriver对应的驱动程序接口;
网络驱动程序访问单元,用于通过所述网络驱动程序webdriver访问所述浏览器的驱动程序接口,启动浏览器,并加载预设的javascript脚本。
进一步的,所述标准版本识别模块包括:
服务连接器驱动单元,用于根据所述执行脚本,通过所述服务连接器Servlet驱动,遍历所述网络驱动程序webdriver版本对应的文件;
网络驱动程序识别单元,用于通过执行exec函数族的方式,识别出所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种计算机设备,包括,一个或多个处理器;存储器,用于存储一个或多个程序,使得一个或多个处理器实现上述任意一项所述的动态获取浏览器代理地址方案。
为解决上述技术问题,本发明采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的动态获取浏览器代理地址方案。
以上方案中的一种动态获取浏览器代理地址方法,通过加载javascript脚本获取浏览器的版本信息,并通过服务连接器Servlet发送执行脚本,识别出浏览器版本信息对应的网络驱动程序webdriver版本,这避免了不同网络驱动程序webdriver版本,无法进行浏览器的版本获取,然后服务连接器Servlet根据网络驱动程序webdriver版本驱动浏览器,获取代理地址,由于网络驱动程序webdriver版本是根据浏览器的版本信息动态获取的,使得在代理地址发生变化时,能够及时获取变化后的代理地址,提高代理地址获取的准确性和效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的动态获取浏览器代理地址方法的应用环境示意图;
图2根据本申请实施例提供的动态获取浏览器代理地址方法的一实现流程图;
图3是本申请实施例提供的动态获取浏览器代理地址中步骤S1的一实现流程图;
图4是本申请实施例提供的动态获取浏览器代理地址方法中步骤S4的一实现流程图;
图5是本申请实施例提供的动态获取浏览器代理地址方法中步骤S42的一实现流程图;
图6是本申请实施例提供的数据库的后台管理装置示意图;
图7是本申请实施例提供的计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面结合附图和实施方式对本发明进行详细说明。
请参阅图1,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的一种动态获取浏览器代理地址方法一般由服务器执行,相应地,动态获取浏览器代理地址装置一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
请参阅图2,图2示出了动态获取浏览器代理地址方法的一种具体实施方式。
需注意的是,若有实质上相同的结果,本发明的方法并不以图2所示的流程顺序为限,该方法包括如下步骤:
S1:在接收到测试任务请求时,获取测试任务请求中包含的浏览器标识,并启动浏览器标识对应的浏览器,加载预设的javascript脚本。
具体的,对于部分企业的内部网络,如果需要对其进行互联网访问,通过对网络安全的考虑,往往需要先对其浏览器的代理地址进行安全测试。浏览器的代理地址是动态变化的,对于一般的对其抓包以获取代理地址,这是比较困难的,这是因为是需要通过浏览器查看代理地址,然后记录下代理地址,然后将代理地址填入到需要测试模块,然后再进行测试,但是部分企业是无法申请开墙,所以很难实现代理地址的动态获取。本方案在进行互联网访问时,服务器接收到对浏览器代理地址的测试任务请求,然后去获取测试任务中包含的浏览器标识,通过启动浏览器标识对应的浏览器,加载预设的javascript脚本。
其中,浏览器标识包括浏览器接口及端口等,通过服务器获取浏览器标识,启动浏览器标识对应的浏览器,实现浏览器的自主启动。
其中,预设的javascript脚本是指用于获取浏览器的版本信息,并将版本信息传送给服务连接器Servlet的脚本程序,其表现形式包括但不限于::VBScript(MicrosoftVisual Basic Script)、Edition Shell脚本、JavaScript脚本、Lua脚本、ActionScript脚本等。
S2:通过预设的javascript脚本获取浏览器的版本信息,并将版本信息传送给服务连接器Servlet。
具体的,只有通过浏览器版本和驱动程序webdriver版本相匹配,驱动程序webdriver才能够去驱动获取浏览器的代理地址,并进行测试。本方案是通过web的方式,完成一个web应用程序,使用javascript脚本和后台运行服务连接器selvlet方式做工具的功能,所以通过javascript脚本识别浏览器版本,在服务器自动打开浏览器网页情况下,通过javascript脚本能够加载出当前浏览器版本,获得的浏览器版本,然后将这个信息传送给到服务连接器selvlet。此时服务连接器selvlet开始接受信息,做后续操作两者结合时候,并进行后续步骤的中的驱动。因为javascript脚本只做一个浏览器版本信息的获取,而匹配浏览器,驱动浏览器的工作是服务连接器selvlet实现的,服务连接器Servlet能够交互式地浏览和生成数据,并且具有独立于平台和协议的特性,因此,通过服务连接器Servlet驱动浏览器进行后续步骤。
其中,网络驱动程序webdriver是浏览器自动化测试框架Selenium自动化测试框架下的一个模块,其定义为是一个干净、快速的网络应用自动测试框架。本实施例中,网络驱动程序webdriver针对各个浏览器而开发,取代了嵌入到被测Web应用中的JavaScript脚本。且能够与浏览器的紧密集成支持创建更高级的测试,避免了JavaScript脚本安全模型导致的限制。
其中,服务连接器Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,在本实施例中用于交互式地浏览和生成数据,得到动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。在本申请中,通过服务连接器Servlet接收javascript脚本传送的浏览器的版本信息,发送执行脚本去遍历网络驱动程序webdriver文件,获得浏览器版本信息对应的网络驱动程序webdriver版本,并驱动网络驱动程序webdriver获取浏览器的代理地址。
S3:通过服务连接器Servlet将版本信息写入预设的脚本中,得到执行脚本。
具体的,通过服务连接器Servlet将浏览器的版本信息和驱动命名写入脚本中,得到执行脚本。执行脚本能够在服务连接器Servlet驱动之下,遍寻与浏览器的版本信息相符合的文件,对于后续步骤当中,能够起到将浏览器的版本信息与网络驱动程序webdriver版本相匹配的目的。
其中,执行脚本类型包括但不限于:VBScript(Microsoft Visual BasicScript)、Edition Shell脚本、JavaScript脚本、Lua脚本、ActionScript脚本等。
优选的,执行脚本类型为JavaScript脚本。采用JavaScript脚本的原因是本方案用到的服务连接器Servlet是由Java编写的服务器端程序,并且JavaScript脚本能够具有交互性,能够包含更多活跃的元素,可以在网页中嵌入其它的技术。
S4:通过服务连接器Servlet驱动执行脚本,以使执行脚本遍历网络驱动程序webdriver对应的资源文件,从资源文件中获取版本信息对应的网络驱动程序webdriver的版本,作为标准版本。
具体的,网络驱动程序webdriver拥有不同的版本,通过仓库的下载的形式加载不同的网络驱动程序webdriver版本,这些网络驱动程序webdriver有能够和浏览器的版本相匹配的网络驱动程序webdriver版本。通过将浏览器的版本信息写入脚本之中,形成执行脚本,再通过服务连接器Servlet驱动执行脚本,遍历网络驱动程序webdriver文件,再通过执行exec函数族的方式,识别出浏览器的版本对应的网络驱动程序webdriver版本。
进一步的,上述将浏览器的版本信息写入脚本之中和驱动网络驱动程序webdriver和浏览器的版本信息匹配是在浏览器自动化测试框架Selenium之中通过网络驱动程序webdriver进行驱动的。
其中,浏览器自动化测试框架Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中。支持的浏览器包括IE(7,8,9,10,11),MozillaFirefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性和测试系统功能。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。在本申请中,脚本的加载、运行和服务连接器Servlet驱动皆是在浏览器自动化测试框架Selenium的框架之内运行的,浏览器自动化测试框架Selenium给予本方案运行的平台。
进一步的,网络驱动程序webdriver能够支持多种浏览器的代理地址的获取和测试,每种浏览器版本都对应一种网络驱动程序webdriver版本。例如:Firefox浏览器(对应的网络驱动程序webdriver版本为FirefoxDriver)、IE浏览器(对应的网络驱动程序webdriver版本为InternetExplorerDriver)、Opera浏览器(对应的网络驱动程序webdriver版本为OperaDriver)和Chrome浏览器(对应的网络驱动程序webdriver版本为ChromeDriver)等等。进一步的,网络驱动程序webdriver还支持Android(AndroidDriver)和iPhone(IPhoneDriver)的移动应用测试。在本申请中,通过匹配浏览器的版本信息对应的网络驱动程序webdriver版本,用以服务连接器Servlet驱动获取浏览器的代理地址。
S5:通过服务连接器Servlet根据标准版本,驱动浏览器,获取浏览器的代理地址。
具体的,在本步骤中网络驱动程序webdriver就相当于浏览器的代理地址的程序接口,通过上述步骤,匹配到浏览器的版本与网络驱动程序webdriver相对应的版本,就相当与当前浏览器的版本匹配到浏览器的代理地址的程序接口。通过服务连接器Servlet根据网络驱动程序webdriver,驱动网络驱动程序webdriver和浏览器,获取浏览器的代理地址,并将其作为测试地址。
具体的,由于网络驱动程序webdriver能够支持多种浏览器的代理地址的获取和测试,且每种浏览器版本都对应一种网络驱动程序webdriver版本。根据上述步骤获得的标准版本是与当前浏览器相匹配的版本,经过服务连接器Servlet驱动网络驱动程序webdriver和浏览器的程序接口,然后服务连接器Servlet创建一个ServletRequest对象获取浏览器程序接口发来的请求数据,以此来获取浏览器的代理地址。
其中,ServletRequest由服务连接器Servlet容器来管理,当浏览器请求到来时,服务连接器Servlet容器创建一个ServletRequest对象,封装请求数据,同时创建一个ServletResponse对象,封装响应数据。这两个对象将被服务连接器Servlet容器作为service()方法的参数传递给服务连接器Servlet,服务连接器Servlet利用ServletRequest对象获取浏览器发来的请求数据,利用ServletResponse对象发送响应数据。
进一步的,服务连接器Servlet通过驱动javascript脚本,通过网络驱动程序webdriver,获取浏览器的代理地址。
本实施例中,通过加载javascript脚本获取浏览器的版本信息,并通过服务连接器Servlet发送执行脚本,识别出浏览器版本信息对应的网络驱动程序webdriver版本,这避免了不同网络驱动程序webdriver版本,无法进行浏览器的版本获取,然后服务连接器Servlet根据网络驱动程序webdriver版本驱动浏览器,获取代理地址,由于网络驱动程序webdriver版本是根据浏览器的版本信息动态获取的,使得在代理地址发生变化时,能够及时获取变化后的代理地址,提高代理地址获取的准确性和效率。
请参阅图3,图3示出了步骤S1的一种具体实施方式,步骤S1中,在接收到测试任务请求时,获取测试任务请求中包含的浏览器标识,并启动浏览器标识对应的浏览器,加载预设的javascript脚本的具体实现过程,详叙如下:
S11:在接收到测试任务请求时,获取测试任务请求中包含的浏览器标识。
具体的,测试任务中包含有浏览器标识,每个浏览器标识都对应着唯一一个浏览器;通过获取浏览器标识,进而启动待浏览器,为后续获取浏览器的代理地址提供基础。
S12:获取浏览器标识对应的网络驱动程序webdriver,并设置网络驱动程序webdriver对应的驱动程序接口。
具体的,通过将网络驱动程序webdriver设置成浏览器的驱动程序接口相对于的驱动程序接口,就能够通过网络驱动程序webdriver启动浏览器。在此过程中,首先通过服务器获取浏览器标识对应的网络驱动程序webdriver,在通过Java设置webdriver地址,以将网络驱动程序webdriver设置成浏览器的驱动程序接口相对于的驱动程序接口。
S13:通过网络驱动程序webdriver访问浏览器的驱动程序接口,启动浏览器,并加载预设的javascript脚本。
具体的,通过上述步骤S12将网络驱动程序webdriver设置成浏览器的驱动程序接口相对于的地址,经过网络驱动程序webdriver访问浏览器的驱动程序接口,就能够实现启动浏览器。通过加载预设的javascript脚本,用以后续识别浏览器的版本提供基础。
本实施例中,通过获取浏览器标识,识别网络驱动程序webdriver,并设置网络驱动程序webdriver对应的地址,并启动浏览器和加载预设的javascript脚本,完成了获取浏览器代理地址的前期工作,有利于提高动态获取浏览器代理地址的效率。
请参阅图4,图4示出了步骤S4的一种具体实施方式,步骤S4中,通过服务连接器Servlet驱动执行脚本,以使执行脚本遍历网络驱动程序webdriver对应的资源文件,从资源文件中获取版本信息对应的网络驱动程序webdriver的版本,作为标准版本的具体实现过程,详叙如下:
S41:根据执行脚本,通过服务连接器Servlet驱动,遍历网络驱动程序webdriver版本对应的文件。
具体的,由于执行脚本被写入了浏览器的版本信息,在通过服务连接器Servlet驱动下,执行脚本遍历所有下载下来的网络驱动程序webdriver文件,将浏览器的版本信息与网络驱动程序webdriver相匹配。
S42:通过执行exec函数族的方式,识别出版本信息对应的网络驱动程序webdriver的版本,作为标准版本。
具体的,由于浏览器的版本信息要对应网络驱动程序webdriver版本,才能够为后续步骤的网络驱动程序webdriver获取浏览器的代理地址提供基础。所以通过执行exec函数族的方式,配合上述步骤S31,识别出版本信息对应的网络驱动程序webdriver版本。
其中,exec函数族提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新的进程替换了。另外,这里的可执行文件既可以是二进制文件,也可以是Linux下任何可执行的脚本文件。在本申请中,通过执行exec函数族,找到执行脚本,识别出版本信息对应的网络驱动程序webdriver版本。
本实施例中,通过驱动执行脚本,并执行执行exec函数族的方式,识别出版本信息对应的网络驱动程序webdriver的版本,作为标准版本,提高标准版本的识别准确性和效率。
请参阅图5,图5示出了步骤S42的一种具体实施方式,步骤S42中通过执行exec函数族的方式,识别出版本信息对应的网络驱动程序webdriver的版本,作为标准版本的具体实现过程,详叙如下:
S421:通过预设仓库的下载的方式,加载网络驱动程序webdriver。
具体的,由于网络驱动程序webdriver有诸多版本,浏览器有对应的网络驱动程序webdriver版本。通过仓库的下载的方式,把诸多网络驱动程序webdriver下载下来,用以匹配浏览器对应的网络驱动程序webdriver版本。
其中,预设仓库通过外网链接去实现仓库的下载,获取多种网络驱动程序webdriver版本文件;多种网络驱动程序webdriver版本文件存在于预设仓库中,通过该预设仓库的下载的方式,加载网络驱动程序webdriver版本文件。
S422:通过浏览器自动化测试框架selenium驱动执行脚本与网络驱动程序webdriver进行版本信息匹配。
具体的,浏览器自动化测试框架Selenium是一个用于Web应用程序测试的工具,在浏览器自动化测试框架Selenium驱动下,执行脚本中的版本信息与网络驱动程序webdriver进行版本信息匹配。
S423:若存在与执行脚本中版本信息相匹配的网络驱动程序webdriver版本,则输出版本信息相匹配的网络驱动程序webdriver版本,作为标准版本。
具体的,若存在浏览器的版本对应的网络驱动程序webdriver版本,则输出相应的网络驱动程序webdriver版本,用以后续步骤驱动获取浏览器的代理地址,以便存入测试工具中,进行测试。
本实施例中,通过加载网络驱动程序webdriver,并且驱动执行脚本与网络驱动程序webdriver进行版本匹配,识别出标准版本,确定网络驱动程序webdriver的唯一版本,为后续获取浏览器代理地址提供基础。
在步骤S5之后,本申请还包括:
将浏览器的代理地址作为测试地址,并将测试地址存入测试工具中,并通过测试工具,对测试地址进行安全测试。
具体的,通过javascript脚本将测试地址存入测试工具中,并通过测试工具,对测试地址进行安全测试。
其中,测试工具包括但不限于:浏览器压力测试工具jmeter、浏览器兼容性测试工具Browserling及浏览器兼容性测试工具IETester等等。
本实施例中,将浏览器的代理地址作为测试地址,并将测试地址存入测试工具中,并通过测试工具,对测试地址进行安全测试,提高浏览器的安全指数。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
请参考图6,作为对上述图2所示方法的实现,本申请提供了一种动态获取浏览器代理地址装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的动态获取浏览器代理地址装置包括:浏览器加载模块51、版本信息获取模块52、执行脚本获取模块53、标准版本识别模块54及代理地址获取模块55,其中:
浏览器加载模块51,用于在接收到测试任务请求时,获取测试任务请求中包含的浏览器标识,并启动浏览器标识对应的浏览器,加载预设的javascript脚本;
版本信息获取模块52,用于通过预设的javascript脚本获取浏览器的版本信息,并将版本信息传送给服务连接器Servlet;
执行脚本获取模块53,用于采用服务连接器Servlet将版本信息写入预设的脚本中,得到执行脚本;
标准版本识别模块54,用于通过服务连接器Servlet驱动执行脚本,以使执行脚本遍历网络驱动程序webdriver对应的资源文件,从资源文件中获取版本信息对应的网络驱动程序webdriver的版本,作为标准版本;
代理地址获取模块55,用于通过服务连接器Servlet根据标准版本,驱动浏览器,获取浏览器的代理地址。
进一步的,浏览器加载模块51还包括:
浏览器标识获取单元,用于在接收到测试任务请求时,获取测试任务请求中包含的浏览器标识;
网络驱动程序设置单元,用于获取浏览器标识对应的网络驱动程序webdriver,并设置网络驱动程序webdriver对应的驱动程序接口;
网络驱动程序访问单元,用于通过网络驱动程序webdriver访问浏览器的驱动程序接口,启动浏览器,并加载预设的javascript脚本。
进一步的,标准版本识别模块54还包括:
服务连接器驱动单元,用于根据执行脚本,通过服务连接器Servlet驱动,遍历网络驱动程序webdriver版本对应的文件;
网络驱动程序识别单元,用于通过执行exec函数族的方式,识别出版本信息对应的网络驱动程序webdriver的版本,作为标准版本。
进一步的,网络驱动程序识别单元还包括:
网络驱动程序加载子单元,用于通过预设仓库的下载的方式,加载网络驱动程序webdriver;
网络驱动程序匹配子单元,用于通过浏览器自动化测试框架selenium驱动执行脚本与网络驱动程序webdriver进行版本信息匹配;
标准版本确定子单元,用于若存在与执行脚本中版本信息相匹配的网络驱动程序webdriver版本,则输出版本信息相匹配的网络驱动程序webdriver版本,作为标准版本。
进一步的,一种动态获取浏览器代理地址装置还包括安全测试模块,用于将浏览器的代理地址作为测试地址,并将测试地址存入测试工具中,并通过测试工具,对测试地址进行安全测试。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图7,图7为本实施例计算机设备基本结构框图。
计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有三种组件存储器61、处理器62、网络接口63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器61至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器61可以是计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,存储器61也可以是计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器61还可以既包括计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,存储器61通常用于存储安装于计算机设备6的操作系统和各类应用软件,例如动态获取浏览器代理地址方法的程序代码等。此外,存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制计算机设备6的总体操作。本实施例中,处理器62用于运行存储器61中存储的程序代码或者处理数据,例如运行一种动态获取浏览器代理地址方法的程序代码。
网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在计算机设备6与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有服务器维护程序,服务器维护程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种动态获取浏览器代理地址方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种动态获取浏览器代理地址方法,其特征在于,包括:
在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识,并启动所述浏览器标识对应的浏览器,加载预设的javascript脚本;
通过所述预设的javascript脚本获取所述浏览器的版本信息,并将所述版本信息传送给服务连接器Servlet;
采用所述服务连接器Servlet将所述版本信息写入预设的脚本中,得到执行脚本;
通过所述服务连接器Servlet驱动所述执行脚本,以使所述执行脚本遍历网络驱动程序webdriver对应的资源文件,从所述资源文件中获取所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本;
通过所述服务连接器Servlet根据所述标准版本,驱动所述浏览器,获取所述浏览器的代理地址。
2.根据权利要求1所述的动态获取浏览器代理地址方法,其特征在于,所述在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识,并启动所述浏览器标识对应的浏览器,加载预设的javascript脚本包括:
在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识;
获取所述浏览器标识对应的所述网络驱动程序webdriver,并设置所述网络驱动程序webdriver对应的驱动程序接口;
通过所述网络驱动程序webdriver访问所述浏览器的驱动程序接口,启动浏览器,并加载预设的javascript脚本。
3.根据权利要求1所述的动态获取浏览器代理地址方法,其特征在于,所述通过所述服务连接器Servlet驱动所述执行脚本,以使所述执行脚本遍历网络驱动程序webdriver对应的资源文件,从所述资源文件中获取所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本包括:
根据所述执行脚本,通过所述服务连接器Servlet驱动,遍历所述网络驱动程序webdriver版本对应的文件;
通过执行exec函数族的方式,识别出所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本。
4.根据权利要求3所述的动态获取浏览器代理地址方法,其特征在于,所述通过执行exec函数族的方式,识别出所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本还包括:
通过预设仓库的下载的方式,加载所述网络驱动程序webdriver;
通过浏览器自动化测试框架selenium驱动所述执行脚本与所述网络驱动程序webdriver进行版本信息匹配;
若存在与所述执行脚本中所述版本信息相匹配的所述网络驱动程序webdriver版本,则输出所述版本信息相匹配的所述网络驱动程序webdriver版本,作为标准版本。
5.根据权利要求1至4任一项所述的动态获取浏览器代理地址方法,其特征在于,所述通过所述服务连接器Servlet根据所述标准版本,驱动所述浏览器,获取所述浏览器的代理地址之后,所述方法还包括:
将所述浏览器的代理地址作为测试地址,并将所述测试地址存入测试工具中,并通过所述测试工具,对所述测试地址进行安全测试。
6.一种动态获取浏览器代理地址装置,其特征在于,包括:
浏览器加载模块,用于在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识,并启动所述浏览器标识对应的浏览器,加载预设的javascript脚本;
版本信息获取模块,用于通过所述预设的javascript脚本获取所述浏览器的版本信息,并将所述版本信息传送给服务连接器Servlet;
执行脚本获取模块,用于采用所述服务连接器Servlet将所述版本信息写入预设的脚本中,得到执行脚本;
标准版本识别模块,用于通过所述服务连接器Servlet驱动所述执行脚本,以使所述执行脚本遍历网络驱动程序webdriver对应的资源文件,从所述资源文件中获取所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本;
代理地址获取模块,用于通过所述服务连接器Servlet根据所述标准版本,驱动所述浏览器,获取所述浏览器的代理地址。
7.根据权利要求6所述的动态获取浏览器代理地址装置,其特征在于,所述浏览器加载模块包括:
浏览器标识获取单元,用于在接收到测试任务请求时,获取所述测试任务请求中包含的浏览器标识;
网络驱动程序设置单元,用于获取所述浏览器标识对应的所述网络驱动程序webdriver,并设置所述网络驱动程序webdriver对应的驱动程序接口;
网络驱动程序访问单元,用于通过所述网络驱动程序webdriver访问所述浏览器的驱动程序接口,启动浏览器啊,并加载预设的javascript脚本。
8.根据权利要求6所述的动态获取浏览器代理地址装置,其特征在于,所述标准版本识别模块包括:
服务连接器驱动单元,用于根据所述执行脚本,通过所述服务连接器Servlet驱动,遍历所述网络驱动程序webdriver版本对应的文件;
网络驱动程序识别单元,用于通过执行exec函数族的方式,识别出所述版本信息对应的所述网络驱动程序webdriver的版本,作为标准版本。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的动态获取浏览器代理地址方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的动态获取浏览器代理地址方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010462889.0A CN111752593A (zh) | 2020-05-27 | 2020-05-27 | 动态获取浏览器代理地址方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010462889.0A CN111752593A (zh) | 2020-05-27 | 2020-05-27 | 动态获取浏览器代理地址方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111752593A true CN111752593A (zh) | 2020-10-09 |
Family
ID=72673680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010462889.0A Pending CN111752593A (zh) | 2020-05-27 | 2020-05-27 | 动态获取浏览器代理地址方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111752593A (zh) |
-
2020
- 2020-05-27 CN CN202010462889.0A patent/CN111752593A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018223717A1 (zh) | 网页前端测试方法、装置、系统、设备及可读存储介质 | |
CN107291759B (zh) | 浏览器页面资源的处理方法和装置 | |
CN109558320B (zh) | 系统测试方法、装置、系统、设备及计算机可读存储介质 | |
CN109240697B (zh) | 调用处理方法及装置、存储介质 | |
JP6182160B2 (ja) | 実行中のプロセスへのコードの動的挿入 | |
CN110365724B (zh) | 任务处理方法、装置及电子设备 | |
WO2019085290A1 (zh) | 测试前置实现方法、装置、终端设备及存储介质 | |
CN112416458A (zh) | 基于ReactNative的预加载方法、装置、计算机设备及存储介质 | |
CN111367802B (zh) | web自动化测试方法、装置及计算机可读存储介质 | |
CN107368339B (zh) | 容器入口程序运行方法、系统、设备及存储介质 | |
CN112463256A (zh) | 确定配置文件的方法、系统、电子设备及存储介质 | |
CN112346976A (zh) | 基于网页的接口文档生成方法、装置、系统及计算机设备 | |
CN111552463A (zh) | 一种页面跳转方法、装置、计算机设备及存储介质 | |
CN111581098B (zh) | 接口数据转移存储的方法、装置、服务器及存储介质 | |
CN112491940B (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
CN109597952B (zh) | 网页信息处理方法、系统、电子设备和存储介质 | |
CN110737861A (zh) | 一种网页数据处理方法、装置、设备和存储介质 | |
CN113138915A (zh) | 一种页面测试方法、装置及介质 | |
CN111158777A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
CN111752593A (zh) | 动态获取浏览器代理地址方法、装置、设备及存储介质 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN110825370A (zh) | 移动端应用开发方法、装置及系统 | |
CN114721784A (zh) | 应用运行方法、装置、电子设备及可读介质 | |
CN111797009A (zh) | 用于检测代码兼容性的方法、装置和电子设备 | |
CN116302847B (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 |