网站地图
  
  高级搜索
  首页   技术论坛   博客   产品中心   资源中心   银弹在线   商城  


 [无发表权] 请登录或者注册          版主: chenchun



体验WebTest    
#1楼
给作者发送短消息 给作者发送短消息 实名会员 
查看用户其他信息
总分 28 分
财富 187 goCom币
威望 21
排名 :(
段位 新手必读
WebTest 是Canoo开发的一款开源的Web测试框架。模拟浏览器行为。 WebTest是基于Httpunit开发。测试脚本是基于XML格式的。这样让不熟悉编程语言的人很容易掌握。

前提准备:
  jdk1.4或更高版本,需要在系统的环境变量中,设置PATH和JAVA_HOME;
  ant1.6.5或更高版本 (webtest的lib目录下实际已经包含了ant165的jar)
  unzip工具

配置系统路径

 先介绍下webtest的主要目录:

     lib目录下包含了webtest运行需要的java 类库文件;
     bin目录包括了启动webtest的脚本(windows和unix);

在windows系统下,需要将bin目录增加到系统的环境变量中(用户变量PATH路径);

Unix系统中,可执行类似的命令:

setenv PATH ${PATH}:/usr/local/webtest/bin in .login (tcsh)
或
export PATH=${PATH}:/usr/local/webtest/bin in .bashrc (bash).

创建测试项目
webtest提供了一个脚本来创建新项目,并提供了一些可以运行的例子。
新建项目的脚本如下:

C:> webtest -f pathtowebtesthomewebtest.xml wt.createProject

(如果是在unix下,需要执行的是webtest.sh)

执行该命令后,会要求输入新项目名称,如果直接敲回车,缺省的项目名称是myWebProject。我这里输入的名称是myWebTestProject1

C:>webtest -f C:Downloadswebtestwebtest.xml wt.createProject
"D:primetonhwideeclipsejrebinjava.exe" -Xms64M -Xmx256M -cp "C:Downloadswebtestbin..libant-launcher.jar" -Dant.library.dir="C:Downloadswebtestbin
..lib" "-Dlog4j.configuration=file:/C:Downloadswebtestbin..lib/log4j.properties" org.apache.tools.ant.launch.Launcher -nouserlib -lib "C:Downloadswebte
stbin..libbuild;C:Downloadswebtestbin..libbuildclover.jar" -f C:Downloadswebtestwebtest.xml wt.createProject
Buildfile: C:Downloadswebtestwebtest.xml
wt.init:
wt.createProject:
    [input] Enter your WebTest project name: [myWebTestProject]
myWebTestProject1
    [mkdir] Created dir: C:myWebTestProject1
     [copy] Copying 10 files to C:myWebTestProject1
     [echo]
     [echo]                     Your WebTest project >myWebTestProject1< has been successfully created with some demo
     [echo]                     tests to get started.
     [echo]                     You can now just go to >C:/myWebTestProject1< and run ant.
     [echo]
BUILD SUCCESSFUL
Total time: 29 seconds

至此,项目myWebTestProject1成功建立,检查c:盘根目录,会看到存在目录myWebTestProject1,其下包含definitions、dtd、includes、tests等几个文件夹,以及build.xml、definitions.xml文件

执行测试demo
新建的项目下已经存在demo内容,可以这样执行demo

C:myWebTestProject1> webtest

执行后,会看到命令行窗口中显示一些提示信息:

........
wt.openResultFile.init:
wt.openResultFile:
     [echo] Opening result file C:myWebTestProject1resultsindex.html with cmd

wt.countWebtestResults:
BUILD FAILED
C:Downloadswebtestwebtest.xml:343: 2 of 3 webtests have failed (1 successful)!
Total time: 19 seconds

并有一份html的报告自动显示在浏览器中

解读Sample

新建的webtest项目下默认生成了sample文件。包括4个目录:definitions、dtd、includes、tests。两个文件:build.xml 和 definations.xml。

     build.xml是webtest执行时默认寻找的文件。其中主要目的是指定webtest任务的文件所在,如下:

 <property name="wt.testInWork" value="tests/allTests.xml"/>

    这个property值将传递给webtest_home下的webtest.xml文件。   

    如此,tests目录下的文件才是我们要关注的。这个目录下包含了4个.xml文件,除alltest.xml之外的其他三个xml文件就是我们的webtest用例文件,而alltest.xml是负责调用这三个用例文件的,alltest.xml的内容如下:

<project name="WebTestDemo-allTests" default="test">
 <target name="test" description="runs all the tests">
  <ant antfile="googleWebTest.xml"/>
  <ant antfile="googleWebTestSteps.xml"/>
  <ant antfile="webTestConference.xml"/>
 </target>
</project>

以 googleWebTest.xml为例,介绍下用例写法。文件内容如下:

<project name="demo.googleWebTest" default="test">
 <target name="test">
  <webtest name="check that WebTest is Google"s top "WebTest" result">
   <invoke url="http://www.google.com/ncr" description="Go to Google (in English)"/>
   <verifyTitle text="Google" />
   <setInputField name="q" value="WebTest" />
   <clickButton label="I"m Feeling Lucky" />
   <verifyTitle text="Canoo WebTest Homepage" />
  </webtest>
 </target>
</project>

这个用例翻译过来就是:

执行步骤:

1,访问http://www.google.com/ncr&nbsp;

2,输入"WebTest",点击<I"m Feeling Lucky >按钮

期望结果:

1.1页面的title是"Google"

2.1进入新的页面,页面的title是"Canoo WebTest Homepage"

实战之憾

对一个login页面进行了测试实战,结果不尽如人意:

1,由于jsp中存在一个找不到的js,测试出错。而在实际的浏览器中是可以忽略这个错误的。

2,由于jsp中<script>位于 </html> 之后,而估计模拟浏览器行为的webtest只解读到</html>,就不再继续解读,会提示js未定义的错误。

总结:对于模拟浏览器来说,任何不规范的语法都是困扰,而我们的代码规范并非如此严格,这就导致了模拟浏览器的测试工具,难以在目前的代码状况下生存。如果开发人员打算强化jsp的代码规范,那么使用webtest来测试倒是一个一举两得的好工具。

 

Re: 体验WebTest    
#2楼
给作者发送短消息 给作者发送短消息 实名会员 商务会员 
查看用户其他信息
总分 2909 分
财富 3229 goCom币
威望 54
排名 第 79 名
段位 新手必读
 




发表回复
账号用户名   密码   登录
内容:url email imgsrc image code quote
范例 Example
bold italic underline linethrough   


 [更多...]