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

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

  • <strong id="5koa6"></strong>
  • Functional Tester測試定制的Java 控件

    發表于:2010-04-14來源:作者:點擊數: 標簽:JAVAjavaJavaFunctionalTester
    Functional Tester測試定制的Java 控件 java開發 定制的Java 控件(或者沒有包含于標準 Java 庫中的控件)正在挑戰 GUI 自動化測試 過程。本文解釋了如何通過 IBM Rational Functional Tester 所提供的兩種方法使用這些控件類,用以創建自動化的處理過程: get

      Functional Tester測試定制的Java 控件  java開發

      定制的Java 控件(或者沒有包含于標準 Java 庫中的控件)正在挑戰 GUI 自動化測試過程。本文解釋了如何通過 IBM Rational Functional Tester 所提供的兩種方法使用這些控件類,用以創建自動化的處理過程: getProperty 和 invoke。

      IBM® Rational® Functional Tester 提供了標準接口,便于操作標準 Java™ 控件。例如,在 Rational TextGuiTestObject 接口中,您可以很方便的使用getText 和 setText 方法獲取/設置Swing文本框。另一方面,任何GUI自動化工具都很難實現非標準的或定制控件的自動化,包括 Rational Functional Tester。 定制控件 并不存在于標準部件之中(例如,AWT 或 Swing),但它們是應用程序開發者不斷積累所創造的。 Rational Functional Tester 開發者并不知道這些控件,不能預料到您所需要的方法,因而他們不可能提供包含所有方法的接口。為了測試這些接口,您需要直接從控件本身獲取控件如何工作的信息。幸運的是, Rational Functional Tester為我們提供了一條途徑,那就是使用 getProperty 和 invoke方法。

      Java applet 就是一個定制控件的實例,如圖 1所示。 這是 Lotus Notes中包含的 Editor applet 。

      這個 applet 顯示了用戶輸入富文本(可設置文本為粗體、斜體、文本顏色等等)的區域。用戶通過使用頂部 applet 的按鈕和列表框控制文本的顯示。 這些按鈕并不是標準控件。就是說,它們不屬于 Swing 或 AWT 按鈕,而屬于 Lotus的開發者。它們的包和類名,com.lotus.app.MultiImageButton,表現出了這一點。很明顯,這個包中的類不是一種標準控件,因此 Rational Functional Tester 不能提供包含您需要的一切接口。

      但是,即使這些按鈕不是標準控件,Rational Functional Tester 仍然可以使用最普遍的類來識別它們,即 GuiTestObject。但在大部分情況下,這樣做還不能滿足要求。問題在于,對比直接提供的 GuiTestObject 類,您需要更多有關控件的信息,更多操作它們的方法。例如,雖然 GuiTestObject提供了點擊按鈕的方法,但是它沒有提供獲取按鈕名稱(例如,用來區別粗體按鈕和斜體按鈕)的方法 getText ,而且它沒有提供 isSelected 方法以確定是否某個特殊按鈕已被選擇。但這些正是徹底測試 applet 所必需的信息。因此,您不得不使用 Rational Functional Tester 的 getProperty 和 invoke 方法直接從控件中獲取信息。

      本文為您展示了如何使用 Rational Functional Tester 測試定制的Java控件。本文中我們主要使用 Lotus 創建的 Editor applet 實例,但您可以將此原則應用于任何定制的 Java 類中,無論其是否嵌入 Web 頁面內。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>