利用tcl实现网页自动化测试的方法及系统的制作方法

文档序号:6547625阅读:236来源:国知局
利用tcl 实现网页自动化测试的方法及系统的制作方法
【专利摘要】本发明提供一种利用TCL实现网页自动化测试的方法及系统,该方法包括:从selenium支持的语言中选取一种作为中间语言,在系统中安装中间语言的语言环境;在中间语言的语言环境中安装setuptools,使setuptools能自动查找中间语言的语言环境的安装目录;将语言环境的安装目录和setuptools的安装目录添加到系统变量中的路径变量中;在系统运行中,setuptools自动安装富媒体窗体;利用富媒体窗体安装selenium,形成中间语言selenium环境;在中间语言selenium环境中安装TCL的运行环境;TCL通过自身提供的文件I/O接口调用中间语言实现网页自动化测试。本发明既不会出现录制脚本的刻板和不可控,又不需要重新开发自动化平台,实现了网页自动化测试的快速部署。
【专利说明】利用TCL实现网页自动化测试的方法及系统
【技术领域】
[0001]本发明属于网页自动化测试领域,涉及一种网页自动化测试方法,特别是涉及一种利用TCL实现网页自动化测试的方法及系统。
【背景技术】
[0002]目前国内大多数自动化平台对WEB页面的操作主要采用以下两种方案,一种是脚本录制,如winRunner、QTP (Quick Test Professional)等等,另外一种是利用工具对页面元素进行操作和反馈,如selenium等等。
[0003]WinRunner与QTP同为MI公司开发的功能强大的功能测试工具,但他们使用的脚本语言不同。WinRunner使用的是TSL语言,这是MI公司独有的语言,有特殊性,因此在学习上会有一定难度,不过好在它与C语言比较类似,如果测试人员有一定的C语言编程基础,会相对容易一些。而QTP使用的则是微软的VBScript语言,比较通用,而且也相对简单易学。从语言上的比较上来看,在编程能力上,WinRunner更胜一筹,因为它拥有相当丰富的C语言函数库,而相对而言,QTP则更大众化,它面向的是没有太多技术背景和编程经验的测试人员。
[0004]Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox, MozillaSuite等。Selenium工具的主要功能包括:1)测试与浏览器的兼容性——测试应用程序是否能够很好的工作在不同浏览器和操作系统之上;2)测试系统功能一创建衰退测试检验软件功能和用户需求;3)支持自动录制动作和自动生成Net、Java、Perl等不同语言的测试脚本。Selenium是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。Selenium测试可以在 Windows、Linux 和 Macintosh 上的 Internet Explorer、Mozilla 和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。
[0005]现有的测试方案的缺点是没有考虑到自动化平台的维护成本,且没有考虑到自动化平台的整合性问题,形成了各自独立的和分散的测试方法。

【发明内容】

[0006]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种利用TCL实现网页自动化测试的方法及系统,用于解决现有网页测试方法没有考虑自动化平台的维护成本和整合性的问题。
[0007]为实现上述目的及其他相关目的,本发明提供一种利用TCL实现网页自动化测试的方法,所述利用TCL实现网页自动化测试的方法包括:从selenium支持的语言中选取一种作为中间语言,在系统中安装所述中间语言的语言环境;在所述中间语言的语言环境中安装setuptools,使setuptools能自动查找所述中间语言的语言环境的安装目录;设置所述语言环境的环境变量,将所述语言环境的安装目录和setuptools的安装目录添加到系统变量中的路径变量中;在系统运行中,setuptools自动安装富媒体窗体;利用所述富媒体窗体安装selenium,形成中间语言selenium环境;在所述中间语言selenium环境中安装TCL的运行环境;TCL通过自身提供的文件I/O接口调用中间语言实现网页自动化测试。
[0008]优选地,所述selenium 支持的语言包括 Java、C#、Ruby、Python 及 JavaScript。
[0009]优选地,在系统中,setuptools自动安装富媒体窗体的具体过程包括:所述setuptools调用自身安装包中的easy_install命令实现富媒体窗体的安装。
[0010]优选地,所述网页由一系列的文件元素构成;对网页进行自动化测试即对所述文件元素进行操作。
[0011]优选地,所述selenium的网页驱动器提供了一种对象定位方法,即利用对象的属性对所述文件元素进行定位;所述对象的属性包括id、name、class name、link text、partial link text> tag name、xpath、css selector 中的一种或多种。
[0012]优选地,当所述中间语言为Python时,若Python语言环境的安装目录为D: \Python27,则setuptools在目录D: \Python27下进行安装,并在目录D: \Python27下生成Scripts 文件夹,即 Scripts 文件夹的目录为 D:\Python27\Scripts。
[0013]优选地,所述TCL的运行环境的安装目录是系统自动添加到系统变量中的路径变量中的。
[0014]一种利用TCL实现网页自动化测试的系统,包括根据权利要求1至7任意一项所述的利用TCL实现网页自动化测试的方法形成的系统。
[0015]如上所述,本发明所述的利用TCL实现网页自动化测试的方法及系统,具有以下有益效果:
[0016]本发明针对网页自动化测试提出了一种包容的解决方案,既不会出现录制脚本的那种刻板和不可控,又不需要重新开发新的自动化平台,从而为网页自动化测试实现了快速的部署,符合降低成本和快速开发的需求。
【专利附图】

【附图说明】
[0017]图1为本发明所述的利用TCL实现网页自动化测试的方法流程示意图。
【具体实施方式】
[0018]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0019]请参阅附图。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0020]下面结合实施例和附图对本发明进行详细说明。
[0021]实施例
[0022]本发明提供一种利用TCL实现网页自动化测试的方法,如图1所示,所述利用TCL实现网页自动化测试的方法包括:[0023]SI,从selenium支持的语言中选取一种作为中间语言,在系统中安装所述中间语言的语言环境。其中所述selenium支持的语言包括Java、C#、Ruby、Python及JavaScript,本发明可以选取其中的任何一种作为中间语言。
[0024]例如:若选择Python作为中间语言,则首先在Python主页(http: //pyp1.python, org/)下载 Python2.7.3 安装包和 Setuptools (setuptools 是 Python EnterpriseApplication Kit (PEAK)的一个副项目,它是一组Python的distutilsde工具的增强工具)安装包(http://pyp1.python.0rg/pypi/setuptools#files)。下载完毕后,进行软件安装,首先安装python语言环境,然后持续点击下一步即可完成安装,也可以中途改变安装路径,如 D:\Python27。
[0025]S2,在所述中间语言的语言环境中安装setuptools,使setuptools能自动查找所述中间语言的语言环境的安装目录。
[0026]例如:若Python语言环境的安装目录为D:\Python27,贝丨J setuptools在目录D: \Python27下进行安装,并在目录D: \Python27下生成Scripts文件夹,即Scripts文件夹的目录为 D: \Python27\Scripts。
[0027]S3,设置所述语言环境的环境变量,将所述语言环境的安装目录和setuptools的安装目录添加到系统变量中的路径变量中。设置环境变量的通常过程为:系统属性一〉高级一〉环境变量一〉系统变量。在系统变量中找到变量名为PATH或者Path的变量名(WINDOWS是不检查大小写的),将python和setuptools的安装目录(如D: \Python27和D:\Python27\Scripts)都添加到Path的变量名中去。此步骤的目的是为了系统方便查找python 和 easy_install 命令。easy_install 是由 PEAK (Python Enterprise ApplicationKit)开发的setuptools包自带的一个命令,所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。
[0028]S4,在系统运行中,setuptools自动安装富媒体窗体。在系统中,setuptools自动安装富媒体窗体的具体过程包括:所述setuptools调用自身安装包中的easy_install命令实现富媒体窗体的安装。
[0029]设置环境变量后,在系统CMD (command I ine操作系统命令行)运行中,setuptools 就可以直接使用 easy_install 命令来安装 pip (pip:A tool for installingand managing Python packages,即安装和管理 python 包的工具)。
[0030]经过查阅网站相关消息,pip安装文件实际网站在http://pyp1.python, org/pypi/pip 下,查阅 easy_install 命令的相关用法(C:\Documents and Settings\jinwen.lin>easy_install - h)发现,有的选项可以指定在特定的页面下寻找相关文件,于是安装pip的方式就成为如下格式:
[0031]C:\Documents and Settings\j inwen.1in>easy_instal1-f http://pyp1.python.0rg/pypi/pip pip
[0032]# 在 http://pyp1.python, org/pypi/pip 中寻找并安装 pip,
[0033]具体安装过程如下:
[0034]Searching for pip
[0035]Reading http://pyp1.python.0rg/pypi/pip
[0036]Best match:pipl.5.4[0037]Downloading https: //pyp1.python, org/packages/source/p/pip/pip-1.5.4.tar.gz#md5 = 8
[0038]34b2904f92d46aaa333267fblc922bb
[0039]以上命令正确返回,pip就可以正确的安装了。
[0040]S5,利用所述富媒体窗体安装selenium,形成中间语言selenium环境。
[0041]安装完pip后,就可以通过pip安装selenium,命令如下:
[0042]C:\Documents and Settings\jinwen.lin>pip install selenium
[0043]# 利用 pip 安装 selenium,
[0044]具体安装过程如下: [0045]Downloading/unpacking selenium
[0046]Running setup.py(path:c:\docume ~l\jinwen.lin\locals ~l\temp\pip_build」.inwen.1
[0047]in\selenium\setup.py)egg_info for package selenium
[0048]Installing collected packages: selenium
[0049]Running setup, py install for selenium
[0050]Successfully installed selenium
[0051]Cleaning up...[0052]S6,在所述中间语言selenium环境中安装TCL的运行环境。
[0053]准备好python selenium的环境后,最后要安装TCL的运行环境。TCL版本可以选用功能比较完备的TCL8.6版本。直接下载,持续点击下一步,直到安装完毕;当然也可以改变安装目录。和python不同的是,不需要在系统变量中添加TCL的安装目录,系统会自动添加。即所述TCL的运行环境的安装目录是系统自动添加到系统变量中的路径变量中的。
[0054]S7,TCL通过自身提供的文件1/0接口调用中间语言实现网页自动化测试。
[0055]TCL语言提供了我们平时比较忽视的接口,文件1/0接口。Open是打开文件或者管道命令,返回文件描述符fileID ;read是读取整个文件命令,读取管道文件的返回值并输出。open调用和打开一个文件的同时,也返回一个文件描述符。如果文件名变量的第一个字符是“ I ”,open命令则将此变量剩余部分当作是一个程序名,并运行exec (exec命令是从Tcl解释器中运行其它进程)来处理,而输入、输出被重定向到了文件描述符。管道则可被子进程打开用以只读、只写或者读写。而对于未知命令,TCL语言会自动查找系统的相关命令,这就是步骤S3为什么要把相关的路径加入系统变量PATH中。
[0056]本发明通过下述实验来验证是否能够通过TCL来调用python文件,本实施例以python(其他中间语言亦可)为例,如下列打印传入的参数文件。我另存为D:/test.py
[0057]import sys# 加载 sys 模块
[0058]print sys.argv#打印调用文件参数
[0059]我们在TCL的环境下调用尝试这个命令,命令结果如下:
[0060](j inwen.1 in) 28% set cmcTpython D: / test.py-web_url www.baidu.com-web_username j inwen.lin〃 ;#把需要执行的python语句赋值给变量cmd
[0061]python D: /test.py-web_url www.baidu.com-web_username j inwen.1in ;# 执行
结果[0062](j inwen.1 in) 29% set hf ile [open〃 | $cmd〃] ;#tcl 利用通道执行命令
[0063]filel205850;# 执行结果
[0064](j inwen.1 in) 30% set res [read$hfile] ;# 获取 python 语句的执行结果
[0065][’ D: /test, py’ , ’ _web_url’ , ’ www.baidu.com’ , ’ _web_username’ , ’ j inwen.1in ] ;#结果输出
[0066]从以上的说明和实验中可以得知,通过TCL调用其他语言环境是简单而且可行的,那么只要如果已经存在通过其他类型的语言来实现网页的测试工作,最后只需要本发明进行简单的调用即可。
[0067]所述网页由一系列的文件元素构成;对网页进行自动化测试即对所述文件元素进行操作。所述selenium的网页驱动器提供了一种对象定位方法,即利用对象的属性对所述文件元素进行定位;所述对象的属性包括id、name、class name、link text>partial linktext> tag name、xpath、css selector 中的一种或多种。
[0068]假如本发明要定位一个百度的输入框,可以有如下方法去定位,如:
[0069]
【权利要求】
1.一种利用TCL实现网页自动化测试的方法,其特征在于,所述利用TCL实现网页自动化测试的方法包括: 从selenium支持的语言中选取一种作为中间语言,在系统中安装所述中间语言的语言环境; 在所述中间语言的语言环境中安装setuptools,使setuptools能自动查找所述中间语言的语言环境的安装目录; 设置所述语言环境的环境变量,将所述语言环境的安装目录和setuptools的安装目录添加到系统变量中的路径变量中; 在系统运行中,setuptools自动安装富媒体窗体; 利用所述富媒体窗体安装selenium,形成中间语言selenium环境; 在所述中间语言selenium环境中安装TCL的运行环境; TCL通过自身提供的文件I/O接口调用中间语言实现网页自动化测试。
2.根据权利要求1所述的利用TCL实现网页自动化测试的方法,其特征在于:所述selenium 支持的语言包括 Java、C#、Ruby、Python 及 JavaScript。
3.根据权利要求1所述的利用TCL实现网页自动化测试的方法,其特征在于,在系统中,setuptools自动安装富媒体窗体的具体过程包括: 所述setuptools调用自身安装包中的easy_install命令实现富媒体窗体的安装。
4.根据权利要求1所述的利用TCL实现网页自动化测试的方法,其特征在于:所述网页由一系列的文件元素构成;对网页进行自动化测试即对所述文件元素进行操作。
5.根据权利要求4所述的利用TCL实现网页自动化测试的方法,其特征在于:所述selenium的网页驱动器提供了一种对象定位方法,即利用对象的属性对所述文件元素进行定位;所述对象的属性包括id、 name、class name、link text、partial link text、tagname、xpath、css selector 中的一种或多种。
6.根据权利要求1所述的利用TCL实现网页自动化测试的方法,其特征在于:当所述中间语言为Python时,若Python语言环境的安装目录为D: \Python27,则setuptools在目录D: \Python27下进行安装,并在目录D: \Python27下生成Scripts文件夹,即Scripts文件夹的目录为 D: \Python27\Scripts。
7.根据权利要求1所述的利用TCL实现网页自动化测试的方法,其特征在于:所述TCL的运行环境的安装目录是系统自动添加到系统变量中的路径变量中的。
8.一种利用TCL实现网页自动化测试的系统,其特征在于:所述系统包括根据权利要求I至7任一项所述的利用TCL实现网页自动化测试的方法形成的系统。
【文档编号】G06F11/36GK103984629SQ201410224987
【公开日】2014年8月13日 申请日期:2014年5月26日 优先权日:2014年5月26日
【发明者】林金文 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1