• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    用Robot寫Java代理(二)

    發布: 2007-4-29 00:23 | 作者: seanhe | 來源: 51testing投稿 | 查看: 111次 | 進入軟件測試論壇討論

    領測軟件測試網

    如何寫一個Java代理

    為了開發一個使用于Rational javascript:;" onClick="javascript:tagshow(event, 'Robot');" target="_self">Robot的Java代理,你必須熟悉Java內部的反省,Java外部接口,和被用于開發應用程序或者applet的類庫。

    為了證明如何寫一個嗲里,讓我們使用我們前面討論過的com.Borland.jbcl.control. TreeControl開發一個程序。

    一個Rational Robot的Java 代理只不過是一個Java類,它為被測試的SQABasic對象提供了一個特殊指定的接口。就像先前提及的,TreeControl映射到SQABasic的JavaTree對象。IRbtTree是JavaTree的一個接口,它擴展于IRbtBase。這意味著TreeControl代理必須執行IRbtTree的指定函數(包括IrbtBase的指定函數)。

    事實上,Rational提供的一些代理服務于基本類代理開發。TreeControl作為javax.swing.JComponent和java.awt.Component的父類。AwtBaseProxy或者JfcBaseProxy(這兩個都被Rational支持)能夠服務于基本類代理的開發。在本文中,能實現IRbtBase的AwtBaseProxy用于基礎類服務,F在還需要實現的是指定在IRbtTree里的剩余的功能(或函數)。

    代理類的編寫開始時,需要列出屬于代理的包和寫代理需要的包:

    package beech;

    import Java.lang.Object;

    import Java.awt.Point;

    import rational.robot.awt.*;

    import rational.robot.openapi.*;

    接下來是類的主體:

    public class JBCLTreeProxy extends AwtBaseProxy implements IRbtTree

    {

    public JBCLTreeProxy(){}

    ...

    }

    假如構造類被使用,那么公用的關鍵字將被使用。否則,Robot將無法找到代理或者是在試圖調用代理時返回一個錯誤的信息。

    Java proxy is unavailable: Proxy [ requested for class

    ; using default proxy.

    完成的代碼見附錄C。源代碼展示的代理僅僅調用了被測是組件中的某個方法。舉個例子,接口函數getNodeImage被用于區的每一個TreeControl對象的節點內容。Robot經過getNodeImage節點上的每一個對象,使用TreeControl的get函數的方法。Robot經過的getNodeImage 各節點上的內容被get函數返回。

    GetNodeImage的執行被顯示在下面:

    編譯源程序

    為了編譯源程序,環境變量類路徑的設定需要修改。修改方法見最后一部分的描述,如下:

    • 運行Java Enabler(見圖3)

    Start->Program->Rational SuiteTestStudio->Rational Test-> Java Enabler這步驟為Rational Robot和Java 過程的通訊而準備的。

    3:運行Rational Test Enabler for Java

    點擊安裝程序的Complete去搜索所有可以安裝的Java環境。一臺機器通常有多個Java環境。

    4:選擇Java Environments for Testing Runs

    從展示的Java環境列表中,選擇你需要運行的AUT(見圖4)。你只要選擇需要支持的JVM,你所選擇的所有環境將會用于測試Java應用程序和applets。

    點擊Next完成安裝,安裝時將在sqarobot.jar文件中,加上classpath環境變量。

    • 發布命令

    javac JBCLTreeProxy.java -d

    這將在當前路徑下創建一個分支路徑,在那里放置JBCLTreeProxy.class。

    • 發布命令

    jar fcv beechProxy.jar beech

    這命令將壓縮JBCLTreeProxy.class為beechProxy.jar.

    發布Java代理

    當類文件被壓縮成jar格式,該代理已經做好了發布的準備。發布的過程如下:

    • 從Rational Robot目錄,選擇Tools-> Extension Manager

    確保Java的額外功能被選擇(見圖5)

    5:管理額外環境變量列表

    • 直接編輯JavaClassMap.dat或者通過GUI去選擇:

    Tools -> General Options from Robot, 然后點擊Java Class Mapping Tab.在Java object type選項中選擇JavaTree,就像圖6顯示的。

    6: Java Class Mapping 對話框

    點擊Add確定TreeControlclass 和他的代理類(見圖7)

    7: Component Class and Proxy 對話框

    點擊OK.

    JavaClassMap.dat中的JavaTreesection將顯示為:

    [JavaTree]

    com.Borland.jbcl.control.TreeControl=beech.JBCLTreeProxy

    • 復制代理文件beechProxy.jar,并且Borland文件jbcl.jar和dx.jar到

    \TestDatastoe\DefaultTestScriptDataStore\ TMS_scripts\JavaProxies

    • 運行Java Enabler:

    Start->Program->Rational SuiteTestStudio->Rational Test-> Java Enabler

    8: Rational Test Enabler for Java

    點擊Special Java Proxies按鈕(圖8)去選擇代理文件位于的項目。為了搜索和運用已經安裝的Java環境,我們需要點擊Complete或者Quick去安裝它們。

    • 使用JBCLControls 應用程序測試代理

    結論

    使用Java代理,Rational Robot能夠支持所有的Java類庫,只要應用程序是使用可接受的JVM進行開發的。我們已經看到當需要第三方代理,Rational Robot是如何使用和如何編寫Java代理去擴展它的能力。你能夠使用附錄A的應用程序(或者附錄B中將其視為Applet運行的HTML頁面)去測試你開發的Java代理。

    附錄

    附錄A:BCLControls應用程序的源程序

    附錄B:將JBCLControls作為Apple運行的HTML頁面

    附錄C:BCLTreeProxy的源程序

    (完) 

    版權聲明:51testing軟件測試網及相關內容提供者擁有ltesting.net內容的全部版權,未經明確的書面許可,任何人或單位不得對本網站內容復制、轉載或進行鏡像。51testing軟件測試網歡迎與業內同行進行有益的合作和交流,如果有任何有關內容方面的合作事宜,請聯系我們。



    TAG: Robot

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    軟件測試技術文章排行榜
    軟件測試技術分類最新內容
    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>