Robot 的Java代理,你必須熟悉Java內部的反省,Java外部接口,和被用于開發應用程序或者applet的類庫。 為了證明如何寫" name="description" />

用Robot寫Java代理(二)

發表于:2007-04-29來源:作者:點擊數: 標簽:javarobot代理一個如何
如何寫一個 Java 代理 為了 開發 一個使用于Rational java script:;" onClick="javascript:tagshow(event, 'Robot');" target="_self"> Robot 的Java代理,你必須熟悉Java內部的反省,Java外部接口,和被用于開發應用程序或者applet的類庫。 為了證明如何寫

如何寫一個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.anti-gravitydesign.com

...

熱門標簽

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97