下载  >  开发技术  >  其它  > 论文研究-基于爬虫的web自动化测试工具的设计 .pdf

论文研究-基于爬虫的web自动化测试工具的设计 .pdf 评分:

基于爬虫的web自动化测试工具的设计,吴浩帆,,传统的web功能测试工具大多数是“录制”-“回放”模式,测试者需要编写大量的测试脚本,存在门槛高,效率低,维护难等弱点。本文��
中国科技论又在线 http:/www.paper.edu.cn 3.数据库设计 31实体关系图 图2是核心实体的关系图,只包含了木系统最基础性的实体。 Logon Roject Check item Test Case n Testset nk TBsk 1 ent 图2实体关系图 32重要实体详解 3.2.1 Logon Logon是登陆验证信息,包含登陆的地址,登录名、密码的变量名称和值,登陆成功和 失败的标记,有些测试用例需要测试登陆以后的页面,那么就需要使用到登陆功能。 3.2.2 Check item Check iten是 Test Case的检查点和黑白名单配置信息。它包含了检查的信息( object) 和两个类型字段,通过类型字段标示不同的检查对象(超链接和页面内容)和检查类型(黑自名 单和应不应该包含某种格式的内容) 3.2.3 Test Case Test case是测试用例详细信息,它是最小的测试单位,包含入口URL,最大层数, logon 信息id,同吋可以设置检查信息。 3. 2. 4 Test Set Test set是对 Test case的组合,它是执行的最小单位,这使得每次可以执行多条Test Case。它和 Test case是多对多的关系,所以需要增加一个表来记录他们之间的关系。 3.2.5 Project Project是对 Test Set的组织,方便用户组织和管理测试用例。 3.2.6Run Run是 Test se在时间上的一个执行实例,它与 Test set对应,包含了 Test sel ld, Agent Id和执行状态。 中国科技论又在线 http:/www.paper.edu.cn 3.2. Task Iask是 Test case在时间上的一个执行实例,它隶属于一个Run,包含 Run ld, Agent ld, Test Case Id,登砧结果,执行状态。同时它也是 Agent端的执行任务。 3.2.8 Link Link是检查的最小实体,同时它乂是数据量最庞大的一个表,所有的连接检查都记录 在该表,它包含 Task Id,层数,上一层ink的d( parent id),状态,URL和页面内容的 检查结果。 3.2.9 Agent Agent是记录客户端 Agent的活动信息。包含 Agent Id, Agent Name,最后活动时间。 4. front的设计 Front的设计比较简单,在这里只做简单描述。它是个信息管理系统,有两部分的功 能,一部分是配置信息和case的编写,这部分都是数据库操作,包括写,读,更新,删除 尊。另一部分是自动生成报告,在此阐述一下报告生成的方法。报告由封面和详细报告组成 Casc运行完毕会自动生成封面报告,只有点击封面报告上有超链接才会生成详细报告。生 成报告的逻辑流程是:点击一个动态页面(比如JSP),山JSP调用Java类,Java类调用报告 模板文件,然后将报告数据代替模板的标志位置,最后牛成静态报告文件保存在服务器上, 紧接着JSP重定冋请求到该报告文件 5. Agent的设计 5.1算法流程 Agent是整个系统的核心,它是一个CS架构的多线程的业务执行单元,它的工作流程 如下 第一步,启动后向 BD Server注册,使其处于激活状态,每隔一个时间(60s)再注册一次。 第二步,启动多个工作线程,线程到DB获取分配给该 Agent未执行完毕的task,获取 到task以后向任务同步字段加入该task的id。 第三步,取得task的详细信息,包括case信息,检查点信息等,并使用一个对象来缓 存这些信息,以备后续的检查使用。 第四步,判断该task的状态,如果未被执行过,则向Link表写入该task对应的 Test Case 的入∏地址,然后更新task的状态为止在执行但未完成。 第五步,判断是否需要登陆,如需登陆则调用登陆功能模块。 第六步,获取连接,到link表中查找属于该task的,层数小于或等于限定最高层数的, 未被分析过的link,通过HTTP协议,取得每条link对应的页面。 第七步,分析连接,首先分析返回结果的头部信息,如果出错,则更新link的状态为不 可达,如遇重定向,则取出新的 location并重新连接,如果返回正常,则按照case的配置要 求检査贝面内容的格式,接着通过正则表达式匹配出贝面中的超链接,对得到的超链接进行 检查,包括格式和黑白名单,如果在黑名单之列,则不入库,同理,不再白名单之列,也不 入斥,其他的就检查格式,并将检查结果入库 中国科技论又在线 http:/www.paper.edu.cn 第八步,循环第六、七步,直到所有的link都分析完毕,此时意味着task也执行完毕, 更新task的状态为完成,同时将该task的id从任务同步字段中移除。线程退出,进入休眠 状态 启动,周姐性 判到1irl 于0 L好元 更油a 启动多个工作线程 获取task设置同步 茨取In页面 下的所有 3399 大于399 封装ta3k信息 半所tk 已被执行 状态 匹品度 出, 向Ln表写 皱话除 黑白名单 条原始uRL 吞拦度格 将分析结果 更新到据库 图3. Agent算法 52 Agent的设计要点 5.,21线程调度 可以采用轮询的方法,为每个线程分配一个编号,线程启动时先判断自己是不是编 号最小的空闲线程,如果不是则进入睡眠,如果不是就跑去DB取task,如果读到任务 就设置自己的状态为忙,然后就执行task,没有任务就回去睡眠。 522任务同步 由」多个线程处理task会发生冲突的情况,所以需要对ask做同步。一种方法是使用 锁数据库实觋同步,就是线程读取到一条任务以后锁定lsk表,然后更郛Lask的状态位 同时解锁,其他线程取任务时就取不同状态位的task。还有另一种实现方法,就是用一个全 局的字段来记录正在被其他线程处理的task的id,然后从 DB Server读取task时避开这些task 就行,执行完task要将id从这个字段中移除。 523重定向 当遇到重定向时,需要从返冋的 header中取得新的URL,然后重新连接。这种情况经 常发生,所以在此提醒一下,否则将无法检耷目标页面。 中国科技论又在线 http:/www.paper.edu.cn 52.4相对路径 当遇到相对路径的超链接时,需要把用服务器地址它拼凑仝,另外遇到类似“.”退格时, 需要进行特殊处理。 525相同URL 同一个task会碰到很多相同 URLOUniform Resource Locations)的超链接,这些超链接都 是指向同一个地址,同一个页面,如果不加鉴别就爬取回来会导致爬虫重复抓取大量相同的 页面,进行相同的分析。所以在取得每条link入库前应该判断有没有相同URL,如果有则 要做剔除处理。 5.26URL编码、解码 URL存在编码、解码的问题。所以爬虫抓取到页面的超链接时需要进行编码和解码处 理,特别是在进行连接时需要进行解码处理,比如&和&的转换。 527层数的定义 入口地址作为第0层,爬虫每爬进去一层,层数加1,请注意,最后一层的页面只需要 检查页面内容,而不应该再抓取页面上的超链接。 6.总结 木文仅閂述了这款工具的核心设计思路,并没涉及实现细节,真正实现时还需要考虑和 增加许多细节。在实现上可以能会遇到很多难点,包括多线程调度,任务同步,HTTP连接 处理,正则衣达式,衣单处理。在实现吋可以加入·些功能使⊥具更具实用性,比如添加用 户权限功能,使系统在多用户操作时更加的完善;添加仨务调度功能,可以预先安排 est Case 的执行;添加HTTP连接的Post功能,实现更多的功能检测;添加连接验证功能,确保分 炘的准确性,受网终连接环境的影响,根据个人经验,第一遍连接失败有一半以上在重新连 接时是成功的。另外还可以使用多线稈并发实现压丿测试 相比传统的web测试工具,该工具髙效准确的实现了web基本的功能性测试。但是一 些其他的功能测试,比如布局,字体颜色等还是较难实现,所以该工具只能满足部分的web 功能测试 参考文献 [1] Lydia Ash.Web测试指南[M]李昂等译北京:机械工业出版社,2004.2 [2rfc2616.hyPertExtTransferProtocol-http:/l.istietfNetWorkingGroup,1999 [3] Jeff heaton例络机器人Java编程指南[M]童兆丰等译北京:电子工业出版社,2002.7 [4] George Coulouris等, Distributed systems: Concepts and design, Fourth edition.金蓓弘等译北京:机槭工业 出版社,2008 [5]结城浩.Java多线程设计模式[M]北京:中国铁道部出版社,2005 中国科技论又在线 http:/www.paper.edu.cn The design of web auto test tool based on crawler Haofan wu BUPT, Xitucheng Road 10, Haidian Distinct, Bcijing(100876) Abstract The traditional web function test tools are"record"-"replay mode. The tester should write a large amount of test script which results in the high doorsill, low efficiency and difficulty in maintenance The paper provides an innovative thought and designs an automatic web function test tool based on crawler. The tool doesn't require to write script meanwhile you can write test example though the browser. At the same time, it produces statistical report. The tool is applied with distributed method, multithreading technology which also allows consumers to operate the system Keywords: Web test Http: crawler distributed 作者简介:吴浩帆,北京邮电大学研究生,从事于通信和互联网行业。

...展开详情
2019-08-15 上传 大小:403KB
举报 收藏
分享
论文研究-基于随机游走图划分的网页分块 .pdf

基于随机游走图划分的网页分块,田业,秦志国, 本文提出一种新的基于图论的方法Radom-WalkPS (Radom Walk Page Segmentation)进行网页分块。我们将一个网页看做是一个无向加权图,图的顶点是�

立即下载
论文研究-基于k-means聚类算法的研究 .pdf

基于k-means聚类算法的研究,黄韬,刘胜辉,本文首先分析研究聚类分析方法,对多种聚类分析算法进行分析比较,讨论各自的优点和不足,同时针对原k-means算法的聚类结果受随机��

立即下载
论文研究-基于JDBC的数据库访问研究 .pdf

基于JDBC的数据库访问研究,于宁宁,赵宗平,JDBC兼具有强大的数据处理功能,它可以处理各种不同类型的数据源,同时具有极其简单、易用的编程接口,因而得到了广泛的应用。为��

立即下载
论文研究-基于CUDA的SAR成像算法研究 .pdf

基于CUDA的SAR成像算法研究,何丰,任义,雷达技术的不断发展使合成孔径雷达(SAR) 成像处理呈现出算法复杂化、数据海量化、运算密集化等趋势,在基于中央处理器(CPU)的平台上�

立即下载
论文研究-基于QoS的上行调度算法研究 .pdf

基于QoS的上行调度算法研究,朱歆垚,别红霞,随着无线通信与生产需求的发展,越来越多的任务需要设备在没有人干预的情况下进行相互通信来完成,我们称之为 M2M通信。LTE网络支��

立即下载
论文研究-基于Asterisk的SS7集群研究 .pdf

基于Asterisk的SS7集群研究,王晓栋,詹舒波,Asterisk作为一个开源的VoIp PBX 系统,是一个在Linux环境下的纯软件实施方案,完成了各种IP PBX 的功能。它免费,开源,可二次开发的特性�

立即下载
论文研究-基于3-matic的有限元前处理方法研究 .pdf

基于3-matic的有限元前处理方法研究,王伟,杨亚男,针对数字化CAD模型的STL格式文件无法直接生成三维实体模型进行有限元分析的问题,本文提出了基于3-matic的有限元前处理技术,即将扫��

立即下载
论文研究-基于EPON的动态带宽分配算法研究 .pdf

基于EPON的动态带宽分配算法研究,陈存康,,本论文展示了一种基于以太网的下一代无源光网络(EPON)。并且提出了一种称为固定周期流水线轮询(CPP)的动态带宽分配算法(DBA)��

立即下载
论文研究-基于WoT的接口协议 .pdf

基于WoT的接口协议,周密,孙礼,由于物联网设备种类繁多,网络架构区别较大,整个物联网系统相对封闭等问题,物联网的进一步发展受到了很大的阻碍。而Web of Things��

立即下载
论文研究-基于条件随机场的中文分词研究 .pdf

基于条件随机场的中文分词研究,张成志,王洪波,本文对基于条件随机场的中文分词理论和技术做了研究,并基于开源的crf 实现了一个中文分词器。CRF模型将分词转化为标记问题,充分�

立即下载
论文研究-基于VRML的三维仿真建模算法研究 .pdf

基于VRML的三维仿真建模算法研究,王昊鹏,刘永玉,随着Internet的发展,以VRML为代表的基于WWW的虚拟现实建模技术正在日益受到广泛的重视。基于VRML、遥感技术构建虚拟三维环境可以对农��

立即下载
论文研究-基于RSSI的ZigBee室内定位算法研究 .pdf

基于RSSI的ZigBee室内定位算法研究,高永清,商丹,通过分析对数距离路径损耗模型、待定位节点定位过程中产生的误差,提出了首先采用基于RSSI和均值滤波与加权质心混合定位算法进行��

立即下载
论文研究-基于深度学习的人脸识别算法研究 .pdf

基于深度学习的人脸识别算法研究,赵学斌,张雷,传统的人脸识别算法主要是基于图像的浅层特征提取,比如LBP、SIFT、HOG等图像特征描述算子,然后进行多种浅层特征融合,PCA降维之后��

立即下载
论文研究-基于蚁群算法的LEACH协议研究 .pdf

基于蚁群算法的LEACH协议研究,王静,胡彧,针对LEACH协议中簇头节点与汇聚节点之间采用单跳通信造成能量损耗过快的问题,提出了一种基于蚁群算法的LEACH协议,该算法利用蚁群��

立即下载
论文研究-基于Logistic混沌序列通信系统仿真研究 .pdf

基于Logistic混沌序列通信系统仿真研究,宗恒山,李艳萍,针对扩频序列的好坏直接关系到扩频通信系统性能的好坏,本文提出了一种基于Logistic混沌序列的直扩通信系统模型。经过系统仿真实验�

立即下载
论文研究-基于大数据的预测处理模式研究 .pdf

基于大数据的预测处理模式研究,王金海,俎云霄,随着大数据时代的来临,人类社会已经进入一个崭新的数字时代。大数据的时代里 ,数据的产生和收集是基础,数据挖掘是关键,在日��

立即下载
论文研究-基于编码感知路由的COPE方案研究 .pdf

基于编码感知路由的COPE方案研究,杨政伟,寿国础,COPE是首个实用的无线网络编码方案,通过机会侦听和机会编码可以提升网络的传输性能,然而COPE方案被动地等待编码机会,存在着很大�

立即下载
论文研究-基于Leader-follower的处置突发事件队形变换方法研究 .pdf

基于Leader-follower的处置突发事件队形变换方法研究,熊景,巩青歌,针对武警部队处置突发事件时的队形变换问题,提出了一种基于跟随领航者(Leader–follower)法的队形变换方法,该方法引入几何划分,对��

立即下载
论文研究-基于ARM-Linux的Qt/Embedded的研究与实现 .pdf

基于ARM-Linux的Qt/Embedded的研究与实现,郑阳吉,,本文研究了Qt的特点、发展历程等,在此基础上以一个简单的实例阐述了Qt的开发过程。研究了Qt在嵌入式领域的工具Qt/Embedded,包括硬件�

立即下载
论文研究-基于LEGIC技术的读写设备的开发研究 .pdf

基于LEGIC技术的读写设备的开发研究,李哈达,,论文在详细分析LEGIC智能卡技术的基础上,研究读写器所采用的SM05-S安全模块的特性及其与单片机的硬件接口,程序设计等;分析了卡与�

立即下载