关闭

分布式自动化测试框架Automatjion Center设计介绍

发表于:2010-11-25 11:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:sunshinelius    来源:51Testing软件测试博客

  一个TestJob还可以包含以下一个或多个附属对象:

  <JobInput>:测试任务输入信息,在本Test Job开始执行之时,AC会检查其所有JobInput是否已经准备好。

  <JobOutput>:测试任务输出信息,在本Test Job结束执行之后,AC会检查其所有的JobOutput是否都已经按照定义输出。

  <PropFile>:环境文件,遵循Java Properties定义规范,和测试环境相关的信息,比如被测服务器地址,测试帐号及口令等等。

  <ConfFile>:AC配置文件,遵循java Proeprties定义规范,和任务设置相关的信息,比如测试超时时间,重复运行次数等等。

  <TestData>:测试数据,支持xsl和xml两种数据格式。AC会在Test Job执行的时候加载测试数据,供Test Case使用。

  <Lib>:QTP TestJob专用,AC在启动QTPjob时,会加载相应的lib文件

  <ClassPath>:Java TestJob专用,AC在运行java job时,会调用classloader将所引用到的jar包装载至jvm中。

  另外,TestJob同时还是一个递归的自定义结构,这意味着一个Test Job下可以递归包含若干个子Test Job,这种TestJob又称作抽象Job,AC在运行抽象Job时,会首先递归运行其下的所有子TestJob,然后分析这些TestJob的结果状态,最终确定抽象Job的运行结果状态。

  抽象Job和实体Job在定义时唯一不同之处是,实体Job的属性会指定driver_type引擎类型,而抽象Job则没有driver_type属性或者为空。AC通过driver_type的值来决定是否应该启动相应的JobEngine。

  2. TestJob文件示例

  使用xml文件来定义TestJob,以下是一个TestJobFile.xml示例:

<TestJob name=”机票预定系统测试” description="测试机票系统安装,登录,预定等功能" depends="">
<PropFile name="$ENV" location="serverInfo.xml"/>
<ConfFile name="$CONFIG" location="config.xml"/>
        <TestJob name="getTestCaseFromCVS" description="使用java程序从cvs中获得相应的测试代码" depends="" driver_type="JAVA">
                  <ClassPath location=”javacase/jar/cvsLoader.jar”/>
                  <JobOutput name="$TESTVERSION"/>
                  <Run path="cvsLoader.getFiles ">
                  </Run>
        </TestJob>
        <TestJob name="VBS_Install_Client" description="使用VBScript脚本完成机票系统客户端的安装" depends="getTestCaseFromCVS"driver_type="VBScript">
                  <Lib location=”common\lib\lib_install.vbs”/>
                  <Run path="testcase\vbs\install_client.vbs"></Run>
        </TestJob>
<TestJob name="QTP_bookFlight" description="调用QTP脚本完成机票的预定" depends=" VBS_Install_Client"driver_type="QTP”>
        <JobOutput name="$FlightNo"/>
<JobOutput name="$CustomerName"/>
                  <Lib location=”common\lib\lib_utilityvbs”/>
                  <Run path="testcase\qtp\qtp_bookFlight"></Run>
        </TestJob>
<TestJob name="Selenium_queryFlighOnWeb" description="调用Selenium脚本通过web查询订单的信息是否正确" depends="QTP_bookFlight"driver_type="SELENIUM”>
<ClassPath location=”seleniumcase/web/selcase.jar”/>
<JobInput name="$FlightNo"/>
<JobInput name="$CustomerName"/>
                  <Run path="selcase.checkWeb"></Run>
        </TestJob>
</TestJob>

  以上TestJob文件描述了一个机票系统的完整的自动化测试流程,总计包含4个不同类型的TestJob,分别为getTestCaseFromCVS,VBS_Install_Client,QTP_bookFlight和Selenium_queryFlighOnWeb。TestJob的depends定义揭示了AC的运行过程:

  (1)AC会首先运行名为getTestCaseFromCVS的java测试案例,getTestCaseFromCVS从代码管理系统cvs中下载测试案例代码到本地。为后续的案例运行准备好执行环境。

  (2) VBS_Install_Client的Vbscript脚本负责在本机windows上安装订机票客户端。

  (3)QTP脚本QTP_bookFlight下了一张机票订单,并将订单号和乘客名输出。

  (4)订单号和乘客名成为Selenium_queryFlighOnWeb的输入参数,Selenium脚本则完成web页面订单的查询和验证。

版权声明:本文出自sunshinelius的51Testing软件测试博客:http://www.51testing.com/?2382

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号