实现部分 4:自动化中注意事项

  要把整个流程自动化需要用到流程工具,可以用开源的 ant 或者使用 IBM Rational Build Forge。

  这里主要介绍几个重点:

  1、测试用例相关信息获得

  a)缺陷可以通过 RTC 与 RQM 之间的 OSLC 关联关系连接 RQM 中的测试执行结果 (Test Execution Result),测试执行结果是测试执行记录 (Test Execution Record) 的执行结果。

  b)然后我们可以从缺陷中获得测试执行结果的 url,经过分析我们可以获得 RQM 项目名称,测试执行结果 id 等信息,用于调用 RQM 命令行执行工具。

  2、缺陷验证环境信息的传递

  a)缺陷验证环境是我们通过部署虚拟系统模式生成的新的虚拟机,所以 ip、hostname、用户名和密码都是新的。而在验证系列第二篇中提到的 WAS 卖花网站中遇到的缺陷,我们需要传送新的 url 地址给 RFT 脚本。

  b)在调用 RQM 命令行执行工具的时候需要传输参数

  清单 4. RQM 命令行调用附参数

c:IBMjava60injava -jar RQMExecutionTool.jar -tcerId=1 -projectName=QM1
                       -publicURI=https://paul801beta:9443/qm -user=paul
                       -password=passw0rd -exitOnComplete=true
                       -variables=host:clmsvr-sjy.cn.ibm.com

    c)RFT 中接受参数的脚本如下

  清单 5. RFT 脚本

import com.rational.test.ft.script.IParameter;
import com.rational.test.ft.script.IVariablesManager;
public class SampleScript extends SampleScriptHelper
{
    /**
     * Script Name   : <b>SampleScript</b>
     * Generated     : <b>Dec 10, 2012 1:44:05 PM</b>
     * Description   : Functional Test Script
     * Original Host : WinNT Version 5.1  Build 2600 (S)
     *
     * @since  2012/12/10
     * @author Administrator
     */
    public void testMain(Object[] args)
    {
        //接收参数的定义
        IVariablesManager manager = getVariablesManager();
        IParameter host = manager.getInputParameter("host");
      
      
        startApp("http://" + host.getValue() + ":9081/PlantsByWebSphere/");
      
        // HTML Browser
        // Document: Plants by WebSphere:
        // http://clmsvr-sjy.cn.ibm.com:9081/PlantsByWebSphere/
        // Document: http://clmsvr-sjy.cn.ibm.com:9081/PlantsByWebSphere/promo.html
        image_bonsaiTree().click();
        // Document:
        // http://clmsvr-sjy.cn.ibm.com:9081/PlantsByWebSphere/servlet/ShoppingServlet?
        //      action=productdetail&itemID=T0003
        browser_htmlBrowser(document_plantsByWebSphere(),DEFAULT_FLAGS).inputChars("abc");
        button_addToCart().click();
    }
}

  这里提示一下 RQM 命令行执行工具也提供了 ant 任务调用,方便把执行测试这部分集成到自动化的流程中。

  实现部分 5:Jazz 插件的开发

  Jazz 插件的开发与 Eclipse 插件开发模式是一致的,Jazz 平台定义了丰富而功能强大的扩展点,用户可以利用这些扩展点,定义和实现各种定制功能。

  首先要搭建扩展开发环境,Jazz.net 网站提供了详细的下载 SDK 链接,以及参考文档。

  RTC Server 端服务的扩展,有关 Jazz Component 开发详细资料请查看参考资源中提供的链接。Jazz Component 开发扩展扩展点"com.ibm.team.repository.common.components",定义服务类接口,类型是 Raw_HTTP。

  清单 6

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
   <!--
      This extension defines our component to Jazz. Note that the
      common plugin is included on both the client and server, so
      the component is known both places.
   -->
   <extension
         point="com.ibm.team.repository.common.components">
      <component
            id="com.ibm.rational.svt.workitem.extensions"
            name="Workitem Validation Workflow">
         <service
               kind="RAW_HTTP"
               name="Workitem Validation WorkFlow Rest Service"
               uri="com.ibm.rational.svt.workitem.extensions.common.
                    IWorkitemValidationWorkflowRestService"
               version="1">
         </service>
      </component>
   </extension>
</plugin>