CN108536603A - 一种针对新顶级域名的Web浏览器行为自动化测试方法 - Google Patents
一种针对新顶级域名的Web浏览器行为自动化测试方法 Download PDFInfo
- Publication number
- CN108536603A CN108536603A CN201810341517.5A CN201810341517A CN108536603A CN 108536603 A CN108536603 A CN 108536603A CN 201810341517 A CN201810341517 A CN 201810341517A CN 108536603 A CN108536603 A CN 108536603A
- Authority
- CN
- China
- Prior art keywords
- browser
- top level
- domain name
- test
- new top
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种针对新顶级域名的Web浏览器行为自动化测试方法,涉及浏览器测试技术领域。本发明为了测试Web浏览器对新顶级域名的解析和访问情况。所述方法包括测试条件准备过程、浏览器自动化访问和行为特征提取;还可包括浏览器评分。本发明方法分别对原根中存在的顶级域和原根中不存在的顶级域测试其在浏览器中的解析和访问情况,以全面地测试新顶级域在Web浏览器中的行为特征。本发明使用自动化方法在测试浏览器中对访问测试新顶级域名进行测试,保存访问数据并从中提取浏览器针对新顶级域名的解析和访问情况的行为特征,结合行为特征设计评分模型对浏览器进行评分。
Description
技术领域
本发明涉及浏览器测试技术领域,具体为涉及一个针对新顶级域名的Web浏览器行为自动化测试方法。
背景技术
为满足互联网空间进一步发展的需要,2011年6月20日互联网名称与数字地址分配机构(ICANN)于新加坡会议上正式通过新通用顶级域名(New gTLD)批案,赋予任何公司、机构向ICANN申请新的顶级域名的权力。该项决策还首次支持非ASCII字符的国际化域名(IDN)作为顶级域名。
新通用顶级域名的开放蕴含着无限的商业价值。然而目前新顶级域名无论是在数量上,还是在使用上,依然处于边缘化的状态。对于各种国际域名,国内互联网众多软件和应用尚无法恰当处理,从而导致不同浏览器对新顶级域的解析和访问情况不同。
互联网名称与数字地址分配机构(ICANN)在第58次会议发布的中文域名普遍接受性测试报告中,对中文域名在互联网上是否能够被正确的访问和显示进行了测试。测试在PC端和移动端浏览器中进行,覆盖1148个测试用例。测试结果表明大部分Web浏览器对中文域名的支持程度较好,能够正确的解析和访问。
然而,Web浏览器对全部新顶级域名的支持程度尚未有相关测试。对于原根中不存在的虚拟新顶级域名,Web浏览器的访问行为也是未知数。因此本发明提出了一种测试方法,针对Web浏览器对新顶级域名进行解析和访问的情况进行测试,测试对象覆盖全部新顶级域名和原根中不存在的虚拟新顶级域名。
现有技术也没有全面测试新顶级域在Web浏览器中的行为特征的技术手段。这段删掉吧,技术手段是有的,只是覆盖的对象没有本测试的全面。
发明内容
本发明提供了一种针对新顶级域名的Web浏览器行为自动化测试方法,用于测试Web浏览器对新顶级域名的解析和访问情况。
测试的新顶级域名包含两种:一种是原根中不存在的新顶级域名,另一种是互联网数字分配机构(IANA)公布的根区数据库中带有授权详细信息的新顶级域名。所述原根中不存在的新顶级域名是指采用在实验DNS服务器上配置的实验新顶级域名。
本发明为解决上述技术问题采取的技术方案是:
一种针对新顶级域名的Web浏览器行为自动化测试方法,所述新顶级域名包含两种:一种是原根中不存在的新顶级域名,另一种是互联网数字分配机构(IANA)公布的根区数据库中带有授权详细信息的新顶级域名;所述原根中不存在的新顶级域名是指采用在实验DNS服务器上配置的实验新顶级域名;所述方法用于全面地测试所述新顶级域名在Web浏览器中的行为特征;
所述方法的具体过程包括:
(1)测试条件准备过程:确定待测试的新顶级域名和Web浏览器;为了保障测试结果不受系统历史数据的干扰,每次测试访问Web浏览器均于清除系统DNS缓存后,在隐私模式下进行;
(2)浏览器自动化访问:浏览器自动化访问(自动化访问Web浏览器)的过程包含:
(2.1)启动浏览器,
(2.2)调用隐私模式访问测试域名,
(2.3)保存访问数据,
(2.4)关闭浏览器;
上述过程使用GUI自动化方法来实现;
(3)行为特征提取,其过程包含从数据包中提取DNS请求信息以及从地址栏文本内容中提取行为特征两部分;所述数据包和地址栏文本内容均来自于步骤(2.3)的保存访问数据中;
若所述数据包中提取到针对测试的新顶级域名的DNS请求信息则说明测试浏览器可以解析测试的新顶级域名,否则不能解析测试的新顶级域名;
从地址栏文本内容中提取行为特征包含访问域名是否与测试域名(新顶级域名)一致、访问时是否加入HTTP前缀、访问时是否加入WWW前缀、对国际域名是否转码成punycode编码和对测试域名跳转搜索一共五种特征;
将所述行为特征和DNS请求信息合并后可得出测试浏览器对新顶级域名的行为特征。
进一步地,所述步骤(2)中(2.2)调用隐私模式访问测试域名的过程包含获取浏览器窗口焦点,将域名中的文字与点分隔符分别发送,向当前窗口发送测试域名和回车键,清除系统缓存;将域名中的文字与点分隔符分别发送是由于直接发送包含点分隔符的国际域名时,域名中的点分隔符会由于输入法的切换而自动转换为相应语言的点分隔符,造成错误输入。
进一步地,所述步骤(2)中(2.3)保存访问数据的过程包含获取浏览器对新顶级域进行解析的情况和获取浏览器对新顶级域进行访问的情况两部分;为了获取浏览器对新顶级域进行解析的情况,在启动浏览器之前先启动数据包捕获工具记录访问过程中浏览器发送的DNS解析请求信息,关闭浏览器之后停止捕获数据包并保存;为了获取浏览器对新顶级域进行访问的情况,在调用隐私模式访问后提取浏览器地址栏文本内容。
进一步地,所述步骤(2)在执行自动化操作过程中,每一步执行结束都设置定时器等待一段时间后检测系统状态是否符合预期,用于判断相应操作是否成功执行;若检测发现系统状态不符合预期则重复执行自动化操作并检测,直至系统状态符合预期;若等待超时仍未成功,则中断程序,手动检测;延迟时间的设置根据定时器使用的情形设置。
进一步地,所述方法的具体过程还包括:(4)浏览器评分,根据测试的新顶级域名在Web浏览器中的行为特征计算出衡量Web浏览器对新顶级域名的支持程度的评分。
进一步地,所述浏览器评分的过程如下:
对于每个测试浏览器,查看它对每个测试域名的解析情况;
如果能解析,则统计该域名在其他浏览器中的解析情况;
如果在其他浏览器中均能解析,说明对这个域名的解析情况不足以说明浏览器性能,不统计该域名;否则,说明只有部分浏览器能解析该域名,那么能解析这个域名的浏览器越少,说明该测试浏览器对域名的支持程度越强;因此统计测试浏览器中不能解析该域名的浏览器的比例并累加,作为浏览器解析能力强的一个数值指标rs;
如果不能解析,则统计该域名在其他浏览器中的解析情况;
如果在其他浏览器中均不能解析,说明对这个域名的解析情况不足以说明浏览器性能,不统计该域名;否则,说明只有部分浏览器不能解析该域名,那么不能解析这个域名的浏览器越少,说明该测试浏览器对域名的支持程度越弱;因此统计测试浏览器中能解析该域名的浏览器的比例并累加,作为浏览器解析能力弱的一个数值指标rw;
最后的浏览器评分由rs-rw给出,作为以解析情况衡量浏览器对新顶级域支持程度的评分标准。
本发明的有益效果是:本发明方法分别对原根中存在的顶级域和原根中不存在的顶级域测试其在浏览器中的解析和访问情况,以全面地测试新顶级域在Web浏览器中的行为特征。本发明使用自动化方法在测试浏览器中对访问测试新顶级域名进行测试,保存访问数据并从中提取浏览器针对新顶级域名的解析和访问情况的行为特征,结合行为特征设计评分模型对浏览器进行评分。测试针对原根中不存在的实验新顶级域和互联网数字分配机构(IANA)公布的根区数据库中带有授权详细信息的的新顶级域,原根中不存在的新顶级域采用在实验DNS服务器上配置的实验顶级域。
附图说明
图1为本发明所述的自动化测试方法的示意图,图2为本发明所述的自动化测试方法的流程框图,图3为浏览器分类方法示意图,图4为特殊浏览器分类方法示意图。
具体实施方式
为了得到Web浏览器对新顶级域名的解析和访问情况,需要实现自动化访问Web浏览器,并分析访问数据提取浏览器针对新顶级域名的解析和访问的行为特征。
具体步骤包括:
(1)测试条件准备
(2)自动化访问浏览器
(3)行为特征提取
(4)浏览器评分
所述步骤(1)中测试条件准备包含确定待测试的新顶级域名和Web浏览器;为了保障测试结果不受系统历史数据的干扰,每次测试访问Web浏览器均于清除系统DNS缓存后,在隐私模式下进行。
所述步骤(2)中自动化访问Web浏览器的具体步骤如下:
自动化访问Web浏览器就是通过模拟实际访问过程中的操作,将键盘、鼠标等输入事件依据逻辑组合达到与实际访问过程相同的效果。为了保障测试结果不受系统历史数据的干扰,每次测试均于清除系统DNS缓存后,在隐私模式下进行。
实现自动化的过程包含两部分,首先确定系统中进行操作的对象,然后确定针对该对象需要执行的操作。第一步应用操作系统GUI控件结构中的层次依赖关系,根据所需查找对象的属性从系统根节点一步步向下查询。第二步通过调用针对不同操作统的GUI框架中提供的相关模式可实现点击,设置文本,关闭窗口等操作。
自动化访问Web浏览器的过程包含(2.1)启动浏览器,(2.2)调用隐私模式访问测试域名,(2.3)保存访问数据,(2.4)关闭浏览器。在每一步结束时设置定时器检测一段时间后系统状态是否符合预期,用于判断操作是否成功。若成功则继续下一步,否则每隔一段时间重复执行这个操作直至系统状态符合预期。
步骤(2.2)调用隐私模式访问的过程包含(2.2.1)启动隐私模式和(2.2.2)访问测试域名。不同浏览器通过鼠标事件启动隐私模式的方式不同,但通过键盘事件启动隐私模式的方式是一致的,因此采取向当前窗口发送指定快捷键的方式实现启动浏览器隐私窗口。打开隐私窗口后同样通过键盘事件访问域名。
步骤(2.2.2)中发送测试域名的过程包含获取浏览器窗口焦点,将域名中的文字与点分隔符分别发送,向当前窗口发送测试域名和回车键,清除系统缓存。将域名中的文字与点分隔符分别发送是由于直接发送包含点分隔符的国际域名时,域名中的点分隔符会由于输入法的切换而自动转换为相应语言的点分隔符,造成错误输入。
步骤(2.3)保存访问数据的过程包含获取浏览器对新顶级域进行解析的情况和获取浏览器对新顶级域进行访问的情况两部分。为了获取浏览器对新顶级域进行解析的情况,在启动浏览器之前先启动数据包捕获工具记录访问过程中浏览器发送的DNS解析请求信息,关闭浏览器之后停止捕获数据包并保存。为了获取浏览器对新顶级域进行访问的情况,在调用隐私模式访问后提取浏览器地址栏文本内容。对绝大多数测试浏览器而言,对输入域名进行搜索时都符合地址栏文本内容包含搜索引擎名称的这一特征。因此根据地址栏文本内容可以得出其进行的行为是访问还是搜索。对不同于大多数测试浏览器的特殊浏览器,输入域名进行搜索时地址栏内容与输入域名一致,访问时则会添加HTTP前缀。因此针对不同浏览器设计了两种地址栏文本分类方法,一种适用于绝大多数测试浏览器,另一种适用于不同于大多数测试浏览器的特殊浏览器。
所述步骤(2)中执行自动化操作过程中,每一步执行结束都设置定时器等待一段时间后检测系统状态是否符合预期,用于判断相应操作是否成功执行。若检测发现系统状态不符合预期则重复执行自动化操作并检测,直至系统状态符合预期。若等待超时仍未成功,则中断程序,手动检测。延迟时间的设置根据定时器使用的情形设置。
所述步骤(3)中分析数据的过程包含从数据包中提取DNS请求信息和从地址栏文本内容中提取行为特征两部分。若数据包中提取到针对测试域名的DNS请求信息则说明测试浏览器可以解析测试顶级域,否则不能解析测试顶级域。除跳转搜索这一特征外,对地址栏文本内容进行进一步细分可得到更多行为特征,包含访问域名是否与测试域名一致,访问时是否加入HTTP前缀,访问时是否加入WWW前缀,对国际域名是否转码成punycode编码一共五种特征。将两部分数据合并后可以得出测试浏览器对新顶级域的行为特征。
所述步骤(4)中的浏览器评分方法步骤如下:
对于每个测试浏览器,查看它对每个测试域名的解析情况;
如果能解析,则统计该域名在其他浏览器中的解析情况;
如果在其他浏览器中均能解析,说明对这个域名的解析情况不足以说明浏览器性能,不统计该域名。否则,说明只有部分浏览器能解析该域名,那么能解析这个域名的浏览器越少,说明该测试浏览器对域名的支持程度越强。因此统计测试浏览器中不能解析该域名的浏览器的比例并累加,作为浏览器解析能力强的一个数值指标rs。
如果不能解析,则统计该域名在其他浏览器中的解析情况;
如果在其他浏览器中均不能解析,说明对这个域名的解析情况不足以说明浏览器性能,不统计该域名。否则,说明只有部分浏览器不能解析该域名,那么不能解析这个域名的浏览器越少,说明该测试浏览器对域名的支持程度越弱。因此统计测试浏览器中能解析该域名的浏览器的比例并累加,作为浏览器解析能力弱的一个数值指标rw。
最后的浏览器评分由rs-rw给出,作为以解析情况衡量浏览器对新顶级域支持程度的评分标准。
实施例:
为了更具体地描述本发明,下面结合图1至图4对本发明的技术方案进行详细说明。
本系统(本发明方法)测试的对象是浏览器输入新顶级域名的行为,这里的新顶级域名包含原根中存在的和不存在的。首先在实验DNS根服务器中配置实验域名,再于本机配置递归解析器进行测试。测试域名的顶级域在原根中均不存在,仅存在于实验DNS根服务器中。原根中存在的顶级域信息来源于IANA公布的根区数据库中带有授权详细信息的1563个顶级域。在根区数据库提供的授权详细信息中可以发现大部分顶级域的域名服务器记录都是nic+顶级域名的形式,因此以nic为前缀进行测试。
对浏览器进行测试的具体步骤如下:
启动数据包捕获工具wireshark开始捕获数据包。
打开输入的浏览器,启动隐私模式,输入待测试域名后回车访问。
关闭浏览器,结束抓包并保存数据包。
以上过程使用GUI自动化技术实现。
GUI自动化的过程使用Microsoft.NET框架下提供的Microsoft UI Automation技术,结合屏幕阅读器UI Spy的使用,实现在Windows10系统下自动化访问浏览器,并使用数据包捕获工具wireshark抓取访问数据。对于UI Automation不支持的自动化操作,通过调用.NET框架下的Sendkeys类发送键盘事件以及调用Windows底层API发送鼠标事件的方法来辅助完成。
直接调用UI Automation进行开发,获取控件的过程比较繁琐,因此在这套库的基础上二次封装得到自动化测试类UI Control,针对具有特定值的特定属性的节点进行特定模式调用的过程以及在这个过程中进行子节点查询的查询过程和条件生成过程进行了封装。
开发中使用到调用模式的操作主要是调用控件invoke pattern实现点击,调用value pattern获取控件属性值或设置属性值,调用window pattern实现窗口关闭等。符合这个流程的需求就可以单独封装成一个针对具有特定值的特定属性的节点进行特定模式调用的过程。调用模式的流程如下:首先在UI Spy中读取子节点某一属性值,再根据父节点和UI Spy中获取的属性值,在子节点中查询符合属性值的节点句柄,调用相关模式并返回该句柄。
在这个过程中进行查询分为两类,一类是直接在儿子节点中查询,一类是在所有子孙节点中查询。在子孙节点比较多的情况下,后者速度明显比前者慢,因此根据需要选择查询方式,有时还是需要通过一步步获取到父节点后直接在其儿子节点中查询。UIControl对查询过程进行了独立封装,实现复用。在查询前,需要根据查找属性和输入的值生成查询条件,再与由子节点属性生成的查询条件进行与操作后生成最终的针对具有特定值的特定属性的节点查询条件。UI Control对查询条件也进行了独立封装。
实现浏览器自动化访问的过程包含三部分。
第一步调用自动化测试类UIControl,实现启动wireshark。首先根据进程id查找其窗口句柄,根据窗口句柄查找菜单栏,点击菜单栏中的捕获选项,弹出选项子窗口,在根节点根据子窗口名查找句柄,根据句柄选择对应的树节点选项,最后根据句柄点击确定按钮,启动抓包。
第二步使用SendKeys方法将键击发送到浏览器窗口,以快捷键方式启动隐私模式访问。采用隐私模式保障了解析数据不受浏览器缓存的干扰。由于不同浏览器的快捷键和窗口结构不同,针对不同浏览器等浏览器分别编写了不同的自动化访问代码。访问过程是获取隐私窗口控件焦点,调用SendKeys控制键盘输入测试域名,空格和回车来实现自动访问。同时调用窗口句柄获取浏览器进行访问时的地址栏内容用于分析访问情况。
第三步根据窗口句柄查找菜单栏中的捕获菜单,点击菜单中的停止选项,根据窗口句柄查找菜单栏中的文件菜单,点击菜单中的保存选项,弹出保存窗口,根据保存窗口查找其文件名组合框,设置组合框文本内容为浏览器名称和访问域名,根据保存窗口查找确定按钮,最后根据窗口句柄关闭进程。同时生成文本文档保存浏览器名称和访问域名对应下的浏览器进行访问时的地址栏内容。
启动浏览器自动化访问的具体步骤如下:
启动浏览器进程,根据窗口名称或ID获取其句柄,设置定时器检测窗口是否在限定时间内获取,超时则抛出异常。使用.NET框架下的setfocus方法获取窗口焦点,向其发送组合键启动隐私模式,设置定时器检测隐私窗口是否在限定时间内打开,超时则抛出异常。根据窗口名称或ID获取隐私窗口句柄,设置定时器检测窗口是否在限定时间内获取,超时则抛出异常。向隐私窗口发送待测URL,空格,回车键,启动访问。根据地址栏文本框名称或ID获取其句柄,调用value pattern读取地址栏文本内容。设置定时器检测文本内容是否在限定时间内获取,超时则抛出异常。根据窗口句柄调用window pattern关闭窗口。
部分测试浏览器窗口不支持使用.NET框架下的setfocus方法设置焦点,也就无法向窗口发送按键。出现这种情况首先考虑向浏览器地址栏发送鼠标事件来获取焦点。具体方式是获取地址栏句柄,调用WindowsAPI点击该句柄,使当前窗口获取到焦点,再设置地址栏内容为测试域名,并调用浏览器中搜索按钮的invoke pattern点击访问测试域名。
部分浏览器窗口无法使用上述方法访问测试域名,原因是其地址栏无法设置文本内容。出现这种情况调用Sendkeys发送快捷键和测试域名的方法实现打开隐私窗口并访问测试域名。
部分浏览器由于不支持树结构的控件嵌套设计,无法获取地址栏句柄。但这个窗口的名称是根据访问状态变化而变化的。利用这一点可根据窗口句柄获取其名称作为访问状态的记录。
浏览器自动访问完成后,对得到的数据包,使用基于python的数据包解析工具scapy提取DNS解析情况。提取DNS解析情况的方法是针对每个数据包,提取全部DNS查询,匹配到与输入URL一致的查询即记录为已解析,否则为未解析。
结合地址栏内容设计了基于行为特征的分类方法。对于多数浏览器来说,输入一个URL可能进行的行为有访问和搜索两种。经多次测试发现,浏览器访问输入域名时可能会自动对地址栏内容做一个调整,某些浏览器会添加WWW前缀,某些浏览器一般会添加HTTP前缀,某些浏览器会对国际域名进行转码成punycode格式。跳转搜索的情况下,浏览器地址栏则调整为搜索引擎和查询URL的组合。也有浏览器不遵循这种行为特征,将单独设计其分类方式。
对于遵循上述特征的浏览器,采取的分类方法如图3所示,具体过程为:首先将地址栏内容与输入URL比较。相同则为分类1,说明进行了访问;不同则再判断地址栏内容是否满足搜索条件,即是否匹配包含搜索引擎站点的URL,匹配则为分类2,说明进行了搜索,不包含则再比较其是否与进行转码后的URL一致,一致则为分类3,说明对国际域名进行了转码访问,不一致则比较其是否是对原URL加了前缀,若加了WWW前缀则为分类4,HTTP前缀则为分类5。若均不符合则为分类6,说明进行了重定向。
分类6中的情况主要是各种形式的重定向。对于分类6中包含测试域名的地址栏文本,去除地址栏文本中的测试域名部分得到结果大部分是http://www,表明浏览器访问这部分域名时只是进行了添加HTTP前缀的重定向。而对于分类6中不包含测试域名的地址栏文本,除了部分文本是完全的乱码,其余均进行了不同形式的重定向,包含直接访问,添加HTTP前缀进行重定向。添加WWW前缀以及其他前缀如HTTPS等进行重定向。另外部分文本包含对测试域名进行punycode转码的结果,说明浏览器对这部分测试域名重定向到某个国际域名。由此可见对于分类6中不包含测试域名的地址栏文本,只需提取其前缀即可得到其行为特征,即乱码,直接访问,添加HTTP前缀进行访问,添加WWW前缀进行访问和对国际域名进行转码访问四种特征。其中直接访问对应上述分类方法中的分类1,添加HTTP前缀进行访问对应分类5,添加WWW前缀进行访问对应分类4,对国际域名进行转码访问对应分类3。乱码则属于异常数据,不在分类结果中统计。将分类6的数据重新分类后,最终得到的结果可划分为normal(直接进行访问),search(跳转搜索),decode(转码进行访问),addWWW(加WWW前缀访问),addHTTP(加HTTP前缀访问)五种行为特征。
对不遵循上述行为特征的特殊浏览器,采取的分类方法如图4所示。当地址栏文本与输入域名一致时,浏览器的行为是对输入域名进行搜索。对于某些国际域名还会出现地址栏文本是乱码,对应浏览器的行为是对输入域名进行搜索的情形。而浏览器对输入域名进行访问时,地址栏文本会带有HTTP前缀。对于某些国际域名,会出现转码成punycode的情形。
基于这样的观察,根据地址栏文本将浏览器行为分为五类:首先判断地址栏文本是否与对输入域名添加HTTP前缀后的结果一致,若是则为分类1,说明添加HTTP前缀进行访问,否则判断地址栏文本是否对输入域名进行punycode转码后添加HTTP前缀,若是则为分类2,说明对国际域名转码后进行访问,否则判断地址栏文本是否与输入域名一致,若是则为分类3,说明进行了搜索,否则判断地址栏文本转码为ASCII编码过程是否会抛出异常,是则说明其地址栏文本是乱码,对应浏览器的行为是对国际域名进行了搜索,记为分类4,否则说明重定向到其他网站,记为分类5。
分类5中的情况主要是各种形式的重定向。对于分类5中包含测试域名的地址栏文本,去除地址栏文本中的测试域名部分得到结果大部分是http://www,表明浏览器访问这部分域名时只是进行了添加HTTP前缀的重定向。而对于分类5中不包含测试域名的地址栏文本,均进行了不同形式的重定向,包含添加HTTP前缀进行重定向,添加WWW前缀以及其他前缀如HTTPS等进行重定向。另外部分文本包含对测试域名进行punycode转码的结果,说明浏览器对这部分测试域名重定向到某个国际域名。对于分类5中不包含测试域名的地址栏文本,只需提取其前缀即可得到其行为特征,即添加HTTP前缀进行访问,添加WWW前缀进行访问和对国际域名进行转码访问三种特征。将分类5的数据重新分类后,最终得到的结果可划分为normal(进行访问),search(跳转搜索),decode(转码进行访问),addWWW(加WWW前缀访问),addHTTP(加HTTP前缀访问)五种行为特征。
最后设计浏览器评分模型对数据进行评分,作为以解析情况衡量浏览器对新顶级域支持程度的评分标准。
对于每个测试浏览器,查看它对每个测试域名的解析情况;
如果能解析,则统计该域名在其他浏览器中的解析情况;
如果在其他浏览器中均能解析,说明对这个域名的解析情况不足以说明浏览器性能,不统计该域名。否则,说明只有部分浏览器能解析该域名,那么能解析这个域名的浏览器越少,说明该测试浏览器对域名的支持程度越强。因此统计测试浏览器中不能解析该域名的浏览器的比例并累加,作为浏览器解析能力强的一个数值指标rs。
如果不能解析,则统计该域名在其他浏览器中的解析情况;
如果在其他浏览器中均不能解析,说明对这个域名的解析情况不足以说明浏览器性能,不统计该域名。否则,说明只有部分浏览器不能解析该域名,那么不能解析这个域名的浏览器越少,说明该测试浏览器对域名的支持程度越弱。因此统计测试浏览器中能解析该域名的浏览器的比例并累加,作为浏览器解析能力弱的一个数值指标rw。
最后的浏览器评分由rs-rw给出,作为以解析情况衡量浏览器对新顶级域支持程度的评分标准。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种针对新顶级域名的Web浏览器行为自动化测试方法,其特征在于:
所述新顶级域名包含两种:一种是原根中不存在的新顶级域名,另一种是互联网数字分配机构公布的根区数据库中带有授权详细信息的新顶级域名;所述原根中不存在的新顶级域名是指采用在实验DNS服务器上配置的实验新顶级域名;所述方法用于全面地测试所述新顶级域名在Web浏览器中的行为特征;
所述方法的具体过程包括:
(1)测试条件准备过程:确定待测试的新顶级域名和Web浏览器;为了保障测试结果不受系统历史数据的干扰,每次测试访问Web浏览器均于清除系统DNS缓存后,在隐私模式下进行;
(2)浏览器自动化访问:浏览器自动化访问的过程包含:
(2.1)启动浏览器,
(2.2)调用隐私模式访问测试域名,
(2.3)保存访问数据,
(2.4)关闭浏览器;
上述过程使用GUI自动化方法来实现;
(3)行为特征提取,其过程包含从数据包中提取DNS请求信息以及从地址栏文本内容中提取行为特征两部分;所述数据包和地址栏文本内容均来自于步骤(2.3)的保存访问数据中;
若所述数据包中提取到针对测试的新顶级域名的DNS请求信息则说明测试浏览器可以解析测试的新顶级域名,否则不能解析测试的新顶级域名;
从地址栏文本内容中提取行为特征包含访问域名是否与测试域名一致、访问时是否加入HTTP前缀、访问时是否加入WWW前缀、对国际域名是否转码成punycode编码和对测试域名跳转搜索一共五种特征;
将所述行为特征和DNS请求信息合并后可得出测试浏览器对新顶级域名的行为特征。
2.根据权利要求1所述的一种针对新顶级域名的Web浏览器行为自动化测试方法,其特征在于:所述步骤(2)中(2.2)调用隐私模式访问测试域名的过程包含获取浏览器窗口焦点,将域名中的文字与点分隔符分别发送,向当前窗口发送测试域名和回车键,清除系统缓存;将域名中的文字与点分隔符分别发送是由于直接发送包含点分隔符的国际域名时,域名中的点分隔符会由于输入法的切换而自动转换为相应语言的点分隔符,造成错误输入。
3.根据权利要求2所述的一种针对新顶级域名的Web浏览器行为自动化测试方法,其特征在于:所述步骤(2)中(2.3)保存访问数据的过程包含获取浏览器对新顶级域进行解析的情况和获取浏览器对新顶级域进行访问的情况两部分;为了获取浏览器对新顶级域进行解析的情况,在启动浏览器之前先启动数据包捕获工具记录访问过程中浏览器发送的DNS解析请求信息,关闭浏览器之后停止捕获数据包并保存;为了获取浏览器对新顶级域进行访问的情况,在调用隐私模式访问后提取浏览器地址栏文本内容。
4.根据权利要求3所述的一种针对新顶级域名的Web浏览器行为自动化测试方法,其特征在于:所述步骤(2)在执行自动化操作过程中,每一步执行结束都设置定时器等待一段时间后检测系统状态是否符合预期,用于判断相应操作是否成功执行;若检测发现系统状态不符合预期则重复执行自动化操作并检测,直至系统状态符合预期;若等待超时仍未成功,则中断程序,手动检测;延迟时间的设置根据定时器使用的情形设置。
5.根据权利要求1所述的一种针对新顶级域名的Web浏览器行为自动化测试方法,其特征在于:所述方法的具体过程还包括:(4)浏览器评分,根据测试的新顶级域名在Web浏览器中的行为特征计算出衡量Web浏览器对新顶级域名的支持程度的评分。
6.根据权利要求5所述的一种针对新顶级域名的Web浏览器行为自动化测试方法,其特征在于:所述浏览器评分的过程如下:
对于每个测试浏览器,查看它对每个测试域名的解析情况;
如果能解析,则统计该域名在其他浏览器中的解析情况;
如果在其他浏览器中均能解析,说明对这个域名的解析情况不足以说明浏览器性能,不统计该域名;否则,说明只有部分浏览器能解析该域名,那么能解析这个域名的浏览器越少,说明该测试浏览器对域名的支持程度越强;因此统计测试浏览器中不能解析该域名的浏览器的比例并累加,作为浏览器解析能力强的一个数值指标rs;
如果不能解析,则统计该域名在其他浏览器中的解析情况;
如果在其他浏览器中均不能解析,说明对这个域名的解析情况不足以说明浏览器性能,不统计该域名;否则,说明只有部分浏览器不能解析该域名,那么不能解析这个域名的浏览器越少,说明该测试浏览器对域名的支持程度越弱;因此统计测试浏览器中能解析该域名的浏览器的比例并累加,作为浏览器解析能力弱的一个数值指标rw;
最后的浏览器评分由rs-rw给出,作为已解析情况衡量浏览器对新顶级域支持程度的评分标准。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810341517.5A CN108536603B (zh) | 2018-04-16 | 2018-04-16 | 一种针对新顶级域名的Web浏览器行为自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810341517.5A CN108536603B (zh) | 2018-04-16 | 2018-04-16 | 一种针对新顶级域名的Web浏览器行为自动化测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108536603A true CN108536603A (zh) | 2018-09-14 |
CN108536603B CN108536603B (zh) | 2021-03-02 |
Family
ID=63480961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810341517.5A Active CN108536603B (zh) | 2018-04-16 | 2018-04-16 | 一种针对新顶级域名的Web浏览器行为自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108536603B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634857A (zh) * | 2018-12-05 | 2019-04-16 | 东软集团股份有限公司 | 测试页面对象的方法、装置和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9552281B2 (en) * | 2011-12-28 | 2017-01-24 | Verisign, Inc. | Utilizing a test automation tool in a test automation environment |
CN103995825A (zh) * | 2014-04-08 | 2014-08-20 | 北京卓越通达科技有限公司 | 域名匹配方法及装置、网络浏览器和搜索引擎 |
CN105245631B (zh) * | 2015-09-25 | 2018-10-26 | 中国互联网络信息中心 | 一种优化dns根服务访问的方法与系统 |
CN106294848A (zh) * | 2016-08-22 | 2017-01-04 | 深圳市茁壮网络股份有限公司 | 一种网页解析、获取方法及装置 |
-
2018
- 2018-04-16 CN CN201810341517.5A patent/CN108536603B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634857A (zh) * | 2018-12-05 | 2019-04-16 | 东软集团股份有限公司 | 测试页面对象的方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108536603B (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106503134B (zh) | 浏览器跳转至应用程序的数据同步方法及装置 | |
CA2595758C (en) | System for detecting vulnerabilities in web applications using client-side application interfaces | |
CN104601573B (zh) | 一种Android平台URL访问结果验证方法及装置 | |
CN108566399B (zh) | 钓鱼网站识别方法及系统 | |
KR20040082633A (ko) | 인터넷 검색 엔진에 있어서의 무효 클릭 검출 방법 및 장치 | |
CN108304410A (zh) | 一种异常访问页面的检测方法、装置及数据分析方法 | |
JP2009252070A (ja) | 検索クエリに関するスコアを算出する方法 | |
CN113596114B (zh) | 一种可扩展的自动化Web漏洞扫描系统及方法 | |
US8560518B2 (en) | Method and apparatus for building sales tools by mining data from websites | |
KR100485321B1 (ko) | 검색 엔진에서 등록된 웹사이트를 관리하기 위한 방법 및그 시스템 | |
CN103793461B (zh) | 网页信息的解析方法及装置 | |
WO2017063274A1 (zh) | 一种恶意跳转及恶意嵌套类不良网站的自动判定方法 | |
CN107145784A (zh) | 一种漏洞扫描的方法、装置及计算机可读介质 | |
US9906546B2 (en) | Web service testing | |
CN106845248A (zh) | 一种基于状态转换图的xss漏洞检测方法 | |
CN105740135B (zh) | 一种代码审计方法和装置 | |
CN103617225B (zh) | 一种关联网页搜索方法和系统 | |
CN108536603A (zh) | 一种针对新顶级域名的Web浏览器行为自动化测试方法 | |
Ricca et al. | Detecting anomaly and failure in web applications | |
CN106528569B (zh) | 计算站内搜索有效度的方法及装置 | |
CN108200191B (zh) | 利用微扰法的客户端动态url相关脚本字符串检测系统 | |
JP5300648B2 (ja) | 推薦情報提供装置、ユーザ端末、操作推薦方法、及びプログラム | |
KR100619179B1 (ko) | 인터넷 검색 엔진에 있어서의 무효 클릭 검출 방법 및 장치 | |
US20220414164A1 (en) | E-commerce toolkit infrastructure | |
KR20060062882A (ko) | 웹 응용프로그램 취약점 분석 지원 방법 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221108 Address after: 518001 710 Ludan building, No. 1011 Binhe Road, Ludan village community, Guiyuan street, Luohu District, Shenzhen, Guangdong Province Patentee after: Shenzhen Wangji Technology Co.,Ltd. Address before: 150001 No. 92 West straight street, Nangang District, Heilongjiang, Harbin Patentee before: HARBIN INSTITUTE OF TECHNOLOGY |
|
TR01 | Transfer of patent right |