[发明专利]隐藏变量抽取方法和设备以及信息提取方法和设备有效
| 申请号: | 201410017788.7 | 申请日: | 2014-01-15 | 
| 公开(公告)号: | CN104778070B | 公开(公告)日: | 2018-07-06 | 
| 发明(设计)人: | 邹纲;皮冰锋;钟朝亮;张军;孙俊 | 申请(专利权)人: | 富士通株式会社 | 
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 | 
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 朱胜;吴琼 | 
| 地址: | 日本神*** | 国省代码: | 日本;JP | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 方法和设备 信息流 抽取 起始页面 信息提取 测试 输入用户 最终页面 起始页 解析 页面 | ||
1.一种寻找在JAVA脚本代码中隐藏的变量的方法,包括:
获得起始统一资源定位符URL及其测试例,所述测试例包括:用户输入及其在所述起始URL对应的起始页面的文档对象模型DOM树中的位置、以及通过在所述起始页面中输入所述用户输入而得到的最终页面上的期望值;
获取所述起始页面、所述最终页面、以及两者之间的中间页面中的所有JAVA脚本代码;
按照预定的准则,解析所获取的JAVA脚本代码,以确定所有变量的信息流,每个变量的信息流包括生成所述变量的值所需的变量和JAVA脚本代码;
根据所述用户输入及其在所述DOM树中的位置、以及所述最终页面上的期望值,确定用于生成所述期望值所需的变量;
根据所述用于生成所述期望值所需的变量,从所述所有变量的信息流中抽取出生成所述期望值所需的信息流;
其中所述预定的准则包括:
如果变量A依赖于变量B,则变量B的信息流合并入变量A的信息流;
如果变量A依赖于函数C,则函数C的返回值D的信息流合并入变量A的信息流,函数C的返回值D的信息流包括函数C的调用指令和函数所有参数的信息流;
如果变量A被赋值或被传递为函数C的参数是基于条件或循环的,则该条件或循环被包含在变量A的信息流中;
信息流包括浏览器应用程序编程接口API。
2.如权利要求1所述的方法,其中所述根据用户输入及其在DOM树中的位置、以及最终页面上的期望值,确定用于生成期望值所需的变量包括:
根据所述用户输入及其在所述DOM树中的位置,确定所述用户输入对应的输入变量。
3.如权利要求1所述的方法,其中所述根据用户输入及其在DOM树中的位置、以及最终页面上的期望值,确定用于生成期望值所需的变量包括:
确定导致从所述起始页面或所述中间页面进入下一个页面的变量。
4.如权利要求1所述的方法,其中所述根据用户输入及其在DOM树中的位置、以及最终页面上的期望值,确定用于生成期望值所需的变量包括:
在所述最终页面的DOM树上搜索所述期望值,以确定所述期望值对应的变量。
5.如权利要求4所述的方法,其中如果在所述最终页面的DOM树上搜索不到所述期望值,则找到用于生成所述期望值的JAVA脚本代码。
6.如权利要求1所述的方法,其中所述根据用于生成期望值所需的变量,从所有变量的信息流中抽取出生成期望值所需的信息流包括:
如果所述用于生成期望值所需的变量是静态变量,则直接提取与其相关的信息流;
如果所述用于生成期望值所需的变量是动态变量,则提取与其相关的JAVA脚本代码。
7.如权利要求6所述的方法,其中所述根据用于生成期望值所需的变量,从所有变量的信息流中抽取出生成期望值所需的信息流还包括:
提取所有的eval函数。
8.一种信息提取方法,包括:
利用权利要求1-7之一所述的方法,提取生成期望值所需的变量和信息流;
按所提取的信息流,执行相关的JAVA脚本代码,以得到期望值。
9.一种寻找在JAVA脚本代码中隐藏的变量的设备,包括:
获得装置,被配置为:获得起始统一资源定位符URL及其测试例,所述测试例包括:用户输入及其在所述起始URL对应的起始页面的文档对象模型DOM树中的位置、以及通过在所述起始页面中输入所述用户输入而得到的最终页面上的期望值;
获取装置,被配置为:获取所述起始页面、所述最终页面、以及两者之间的中间页面中的所有JAVA脚本代码;
解析装置,被配置为:按照预定的准则,解析所获取的JAVA脚本代码,以确定所有变量的信息流,每个变量的信息流包括生成所述变量的值所需的变量和JAVA脚本代码;
确定装置,被配置为:根据所述用户输入及其在所述DOM树中的位置、以及所述最终页面上的期望值,确定用于生成所述期望值所需的变量;以及
抽取装置,被配置为:根据所述用于生成所述期望值所需的变量,从所述所有变量的信息流中抽取出生成所述期望值所需的信息流;
其中所述预定的准则包括:
如果变量A依赖于变量B,则变量B的信息流合并入变量A的信息流;
如果变量A依赖于函数C,则函数C的返回值D的信息流合并入变量A的信息流,函数C的返回值D的信息流包括函数C的调用指令和函数所有参数的信息流;
如果变量A被赋值或被传递为函数C的参数是基于条件或循环的,则该条件或循环被包含在变量A的信息流中;
信息流包括浏览器应用程序编程接口API。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于富士通株式会社,未经富士通株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410017788.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于调度、执行的装置和方法以及分布式系统
- 下一篇:信息下载方法及终端





