[go: up one dir, main page]

CN105159825A - 一种Web测试方法及系统 - Google Patents

一种Web测试方法及系统 Download PDF

Info

Publication number
CN105159825A
CN105159825A CN201510514666.3A CN201510514666A CN105159825A CN 105159825 A CN105159825 A CN 105159825A CN 201510514666 A CN201510514666 A CN 201510514666A CN 105159825 A CN105159825 A CN 105159825A
Authority
CN
China
Prior art keywords
content measurement
tested
input frame
tested input
web
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
Application number
CN201510514666.3A
Other languages
English (en)
Inventor
谷颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Feixun Data Communication Technology Co Ltd
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201510514666.3A priority Critical patent/CN105159825A/zh
Publication of CN105159825A publication Critical patent/CN105159825A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种Web测试方法及系统。所述Web测试方法包括:步骤一,输入被测网页的URL地址,获取网页的源码;步骤二,通过XPath对所述源码进行分析定位,确定所有被测输入框;步骤三,获取被测输入框,接收用户输入的长度,并为所述被测输入框随机生成有效的测试内容,并将有效的测试内容填入到所述被测输入框中进行测试,将所述测试得到的测试结果保存。本发明的一种Web测试方法及系统基于selenium进行二次开发,将分析源码,元素定位等工作封装起来,用户直接面对界面,设定参数,便可自动完成,省时省力,且效率较高。

Description

一种Web测试方法及系统
技术领域
本发明涉及一种测试技术,特别是涉及一种Web测试方法及系统。
背景技术
由于Web(网页)应用与用户直接相关,又通常需要承受长时间的大量操作,因此Web项目的功能和性能都必须经过可靠的验证。这就要经过Web项目的全面测试。采用手动测试工作量太大,耗时久而且出错率高。这时使用一些测试工具、测试框架是很有必要的。Selenium是一种Web应用的自动测试工具,通过模拟用户对Web页面的各种操作,可以精确重现软件测试人员编写的TestCases步骤。虽然Selenium是一个很强大的自动化测试框架,但是需要分析网页的源代码,并且进行元素定位,操作复杂,入手比较困难,对于测试人员来说,熟悉工具需要一定时间,不利于测试工作开展。
鉴于此,如何降低Selenium的开发难度,提供Selenium的自动化测试效率成为了本领域技术人员亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种Web测试方法及系统,用于解决现有技术中Web测试开发难度大、效率低的问题。
为实现上述目的及其他相关目的,本发明提供一种Web测试方法,所述Web测试方法包括:步骤一,输入被测网页的URL地址,获取网页的源码;步骤二,通过XPath对所述源码进行分析定位,确定所有被测输入框;步骤三,获取被测输入框,接收用户输入的长度,并为所述被测输入框随机生成有效的测试内容,并将有效的测试内容填入到所述被测输入框中进行测试,将所述测试得到的测试结果保存。
所述Web测试方法还包括:步骤四,重复执行步骤三,直到Web测试结束。
可选地,所确定的所有被测输入框通过输入框数组保存。
可选地,随机生成有效的测试内容的具体实现包括:随机生成测试内容,并确定所生成测试内容的有效性。
可选地,确定所生成测试内容的有效性包括:当所述测试内容为空时,确定所述测试内容无效;或者当所述测试内容的长度超过用户输入的长度时,确定所述测试内容无效;或者当所述测试内容包括特殊字符时,确定所述测试内容无效;否则,确定所述测试内容为有效的测试内容。
可选地,当两个被测输入框之间有联系时,仅当前一个的被测输入框填入的测试内容有效时,才能填入后一个被测输入框的测试内容。
本发明还提供一种Web测试系统,所述Web测试系统包括:测试网页源码获得模块,用于输入被测网页的URL地址,获取网页的源码;被测输入框确定模块,用于通过XPath对所述源码进行分析定位,确定所有被测输入框;被测输入框测试模块,用于获取被测输入框,接收用户输入的长度,并为所述被测输入框随机生成有效的测试内容,并将有效的测试内容填入到所述被测输入框中进行测试,将所述测试得到的测试结果保存。
可选地,被测输入框确定模块通过输入框数组保存所确定的所有被测输入框。
可选地,随机生成有效的测试内容的具体实现包括:随机生成测试内容,并确定所生成测试内容的有效性。
可选地,确定所生成测试内容的有效性包括:当所述测试内容为空时,确定所述测试内容无效;或者当所述测试内容的长度超过用户输入的长度时,确定所述测试内容无效;或者当所述测试内容包括特殊字符时,确定所述测试内容无效;否则,确定所述测试内容为有效的测试内容。
可选地,被测输入框测试模块还用于:当两个被测输入框之间有联系时,仅当前一个的被测输入框填入的测试内容有效时,才能填入后一个被测输入框的测试内容。
如上所述,本发明的一种Web测试方法及系统,具有以下有益效果:基于selenium进行二次开发,将分析源码,元素定位等工作封装起来,用户直接面对界面,设定参数,便可自动完成,省时省力,且效率较高。本发明是基于selenium开发,将繁杂的操作封装,测试人员只需要设定好参数,工具便可自动完成对输入框的测试。使用方便,操作简单。
附图说明
图1显示为本发明的Web测试方法的一实施例的流程示意图。
图2显示为本发明的Web测试系统的一实施例的模块示意图。
元件标号说明
1Web测试系统
11测试网页源码获得模块
12被测输入框确定模块
13被测输入框测试模块
S1~S3步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种Web测试方法。在一个实施例中,如图1所示,所述Web测试方法包括:
步骤S1,输入被测网页的URL地址,获取网页的源码。在一个实施例中,在系统界面中输入被测Web(网页)的URL地址,点击“获取源码”然后将网页的源码全部下载,并自动保存到本地文件。
步骤S2,通过XPath对所述源码进行分析定位,确定所有被测输入框。具体地,系统通过Xpath进行分析定位被测输入框,供后面测试使用。Xpath是Selenium测试中的一种找到不带特定ID或名称的元素的简单方式。如果知道ID或名称之外的一个属性,那么直接使用attribute=value定位元素。如果只知道属性值的一些特定部分,那么使用contains(attribute,value)定位元素。如果元素没有指定的属性,那么利用Firebug搜索最近的具有指定属性的父元素,然后使用Xpath从这个元素开始定位想要找到的那个元素。在一个实施例中,所确定的所有被测输入框通过输入框数组保存。输入框数组中的每一个元素为一个所确定的被测输入框。
步骤S3,获取被测输入框,接收用户输入的长度,并为所述被测输入框随机生成有效的测试内容,并将有效的测试内容填入到所述被测输入框中进行测试,将所述测试得到的测试结果保存。随机生成有效的测试内容的具体实现包括:随机生成测试内容,并确定所生成测试内容的有效性。在一个实施例中,确定所生成测试内容的有效性包括:当所述测试内容为空时,确定所述测试内容无效;或者当所述测试内容的长度超过用户输入的长度时,确定所述测试内容无效;或者当所述测试内容包括特殊字符时,确定所述测试内容无效;否则,确定所述测试内容为有效的测试内容。在一个实施例中,跟据用户输入的长度,系统调用random单元随机生成字母,数字,特殊字符,或者任意形式的组合;确定所生成测试内容的有效性:首先判断是否为空;为空则说明无效,需要重新生成测试内容;如果不为空,则进一步判断长度是否符合web设计要求,当所述测试内容的长度超过用户输入的长度时,说明不符合Web的设计要求,测试内容无效,需要重新生成测试内容;当所述测试内容的长度不超过用户输入的长度时,说明符合Web的设计要求,则进一步判断是否包括特殊字符,如果包括特殊字符,则说明测试内容不符合要求(测试内容无效),需要重新生成测试内容;如果测试内容不包括特殊字符,则说明该测试内容有效。在一个实施例中,当两个被测输入框之间有联系时,仅当前一个的被测输入框填入的测试内容有效时,才能填入后一个被测输入框的测试内容。所述Web测试方法还包括:步骤四,重复执行步骤S3,直到完成Web测试。在一个实施例中,随机生成的测试内容也可以先填入到被测试输入框中,然后再检测该测试内容的有效性,当所填入的测试内容无效时,重新随机生成测试内容,填入到被测试输入框中检测测试内容的有效性,直到填入的测试内容有效。
本发明还提供一种Web测试系统。在一个实施例中,如图2所示,所述Web测试系统1包括11、被测输入框确定模块12以及被测输入框测试模块13。其中:
测试网页源码获得模块11用于输入被测网页的URL地址,获取网页的源码。在一个实施例中,在测试网页源码获得模块11的界面中输入被测Web(网页)的URL地址,点击“获取源码”然后将网页的源码全部下载,并自动保存到本地文件。
被测输入框确定模块12与测试网页源码获得模块11相连,用于通过XPath对所述源码进行分析定位,确定所有被测输入框。具体地,被测输入框确定模块12通过Xpath对测试网页源码获得模块11获取的源码进行分析定位被测输入框,供后面测试使用。Xpath是一种找到不带特定ID或名称的元素的简单方式。如果知道ID或名称之外的一个属性,那么直接使用attribute=value定位元素。如果只知道属性值的一些特定部分,那么使用contains(attribute,value)定位元素。如果元素没有指定的属性,那么利用Firebug搜索最近的具有指定属性的父元素,然后使用Xpath从这个元素开始定位想要找到的那个元素。在一个实施例中,所确定的所有被测输入框通过输入框数组保存。输入框数组中的每一个元素为一个所确定的被测输入框。
被测输入框测试模块13与被测输入框确定模块12相连,用于获取被测输入框,接收用户输入的长度,并为所述被测输入框随机生成有效的测试内容,并将有效的测试内容填入到所述被测输入框中进行测试,将所述测试得到的测试结果保存。随机生成有效的测试内容的具体实现包括:随机生成测试内容,并确定所生成测试内容的有效性。在一个实施例中,确定所生成测试内容的有效性包括:当所述测试内容为空时,确定所述测试内容无效;或者当所述测试内容的长度超过用户输入的长度时,确定所述测试内容无效;或者当所述测试内容包括特殊字符时,确定所述测试内容无效;否则,确定所述测试内容为有效的测试内容。在一个实施例中,跟据用户输入的长度,系统调用random单元随机生成字母,数字,特殊字符,或者任意形式的组合;确定所生成测试内容的有效性:首先判断是否为空;为空则说明无效,需要重新生成测试内容;如果不为空,则进一步判断长度是否符合web设计要求,当所述测试内容的长度超过用户输入的长度时,说明不符合Web的设计要求,测试内容无效,需要重新生成测试内容;当所述测试内容的长度不超过用户输入的长度时,说明符合Web的设计要求,则进一步判断是否包括特殊字符,如果包括特殊字符,则说明测试内容不符合要求(测试内容无效),需要重新生成测试内容;如果测试内容不包括特殊字符,则说明该测试内容有效。在一个实施例中,当两个被测输入框之间有联系时,仅当前一个的被测输入框填入的测试内容有效时,才能填入后一个被测输入框的测试内容。在一个实施例中,被测输入框测试模块13中随机生成的测试内容也可以先填入到被测试输入框中,然后再检测该测试内容的有效性,当所填入的测试内容无效时,重新随机生成测试内容,填入到被测试输入框中检测测试内容的有效性,直到填入的测试内容有效。被测输入框测试模块13可以多次执行,根据需要完成Web测试。
综上所述,本发明的一种Web测试方法及系统,具有以下有益效果:基于selenium进行二次开发,将分析源码,元素定位等工作封装起来,用户直接面对界面,设定参数,便可自动完成,省时省力,且效率较高。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种Web测试方法,其特征在于,所述Web测试方法包括:
步骤一,输入被测网页的URL地址,获取网页的源码;
步骤二,通过XPath对所述源码进行分析定位,确定所有被测输入框;
步骤三,获取被测输入框,接收用户输入的长度,并为所述被测输入框随机生成有效的测试内容,并将有效的测试内容填入到所述被测输入框中进行测试,将所述测试得到的测试结果保存。
2.根据权利要求1所述的Web测试方法,其特征在于:所确定的所有被测输入框通过输入框数组保存。
3.根据权利要求1所述的Web测试方法,其特征在于:随机生成有效的测试内容的具体实现包括:随机生成测试内容,并确定所生成测试内容的有效性。
4.根据权利要求3所述的Web测试方法,其特征在于:确定所生成测试内容的有效性包括:当所述测试内容为空时,确定所述测试内容无效;或者当所述测试内容的长度超过用户输入的长度时,确定所述测试内容无效;或者当所述测试内容包括特殊字符时,确定所述测试内容无效;否则,确定所述测试内容为有效的测试内容。
5.根据权利要求1所述的Web测试方法,其特征在于:当两个被测输入框之间有联系时,仅当前一个的被测输入框填入的测试内容有效时,才能填入后一个被测输入框的测试内容。
6.一种Web测试系统,其特征在于:所述Web测试系统包括:测试网页源码获得模块,用于输入被测网页的URL地址,获取网页的源码;被测输入框确定模块,用于通过XPath对所述源码进行分析定位,确定所有被测输入框;被测输入框测试模块,用于获取被测输入框,接收用户输入的长度,并为所述被测输入框随机生成有效的测试内容,并将有效的测试内容填入到所述被测输入框中进行测试,将所述测试得到的测试结果保存。
7.根据权利要求6所述的Web测试系统,其特征在于:被测输入框确定模块通过输入框数组保存所确定的所有被测输入框。
8.根据权利要求6所述的Web测试系统,其特征在于:随机生成有效的测试内容的具体实现包括:随机生成测试内容,并确定所生成测试内容的有效性。
9.根据权利要求8所述的Web测试系统,其特征在于:确定所生成测试内容的有效性包括:当所述测试内容为空时,确定所述测试内容无效;或者当所述测试内容的长度超过用户输入的长度时,确定所述测试内容无效;或者当所述测试内容包括特殊字符时,确定所述测试内容无效;否则,确定所述测试内容为有效的测试内容。
10.根据权利要求6所述的Web测试系统,其特征在于:被测输入框测试模块还用于:当两个被测输入框之间有联系时,仅当前一个的被测输入框填入的测试内容有效时,才能填入后一个被测输入框的测试内容。
CN201510514666.3A 2015-08-20 2015-08-20 一种Web测试方法及系统 Pending CN105159825A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510514666.3A CN105159825A (zh) 2015-08-20 2015-08-20 一种Web测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510514666.3A CN105159825A (zh) 2015-08-20 2015-08-20 一种Web测试方法及系统

Publications (1)

Publication Number Publication Date
CN105159825A true CN105159825A (zh) 2015-12-16

Family

ID=54800687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510514666.3A Pending CN105159825A (zh) 2015-08-20 2015-08-20 一种Web测试方法及系统

Country Status (1)

Country Link
CN (1) CN105159825A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526919A (zh) * 2009-04-29 2009-09-09 福建星网锐捷网络有限公司 生成脚本文件对Web应用软件进行测试的方法及装置
US20120036580A1 (en) * 2010-07-19 2012-02-09 Sitelock, Llc Selective website vulnerability and infection testing
US20130086554A1 (en) * 2011-09-29 2013-04-04 Sauce Labs, Inc. Analytics Driven Development
CN103377127A (zh) * 2012-04-28 2013-10-30 阿里巴巴集团控股有限公司 网页产品的开发测试系统、测试方法及装置
CN104391786A (zh) * 2014-10-31 2015-03-04 任子行网络技术股份有限公司 网页自动化测试系统及其方法
CN104461901A (zh) * 2014-12-23 2015-03-25 浪潮(北京)电子信息产业有限公司 一种自动生成测试用例的方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526919A (zh) * 2009-04-29 2009-09-09 福建星网锐捷网络有限公司 生成脚本文件对Web应用软件进行测试的方法及装置
US20120036580A1 (en) * 2010-07-19 2012-02-09 Sitelock, Llc Selective website vulnerability and infection testing
US20130086554A1 (en) * 2011-09-29 2013-04-04 Sauce Labs, Inc. Analytics Driven Development
CN103377127A (zh) * 2012-04-28 2013-10-30 阿里巴巴集团控股有限公司 网页产品的开发测试系统、测试方法及装置
CN104391786A (zh) * 2014-10-31 2015-03-04 任子行网络技术股份有限公司 网页自动化测试系统及其方法
CN104461901A (zh) * 2014-12-23 2015-03-25 浪潮(北京)电子信息产业有限公司 一种自动生成测试用例的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
伯格曼,普锐斯克: "《开发高质量PHP框架与应用的实际案例解析》", 31 May 2012, 北京:清华大学出版社 *
肖丁,修佳鹏: "《软件工程模型与方法第2版》", 31 August 2014, 北京邮电大学出版社 *

Similar Documents

Publication Publication Date Title
CN103150238B (zh) 一种服务请求处理方法、模拟性能测试方法及装置
US10422733B2 (en) Method and device for testing wettability of dense oil reservoir
US9367427B2 (en) Embedding and executing trace functions in code to gather trace data
CN105808227B (zh) 一种美术资源文件检测方法和装置
CN106649107B (zh) 安卓系统稳定性的自动化测试方法及装置
CN107659455B (zh) 一种iOS端Mock数据的方法、存储介质、设备及系统
CN101833499A (zh) 一种基于可达树的软件测试验证方法
CN107957956A (zh) 软件差异覆盖率的测试方法、装置及可读存储介质
CN105095088A (zh) 基于uiautomator测试框架的计算器自动化测试方法和测试系统
CN106503563A (zh) 基于通用框架的批量漏洞检测方法
CN106155897B (zh) 一种业务处理方法及装置
CN104484267A (zh) 一种测试系统及方法
CN105158673B (zh) 一种ate机台文件的生成方法及装置
CN107451058A (zh) 一种软件开发方法和装置
CN110908915A (zh) 一种测试覆盖率的展示方法、装置及计算机系统
CN104601768A (zh) Android手机自动化测试系统及其测试方法
EP2972880B1 (en) Kernel functionality checker
CN105159825A (zh) 一种Web测试方法及系统
CN105138458A (zh) 智能终端与电脑端结合录制自动化测试脚本的方法及系统
CN106291222A (zh) 一种信号线连接关系的测试方法和装置
CN103593285B (zh) 一种基于判定识别的图像类软件单元测试方法
CN106897504A (zh) 对ip模块进行开发形成参数化单元的方法
CN107622013B (zh) 一种分布式系统测试方法及装置
CN105095093A (zh) 一种智能终端性能测试方法及系统
CN104239199A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151216