IBM Rational Functional Tester 使您能夠在多個領域自動化應用程序的回歸測試,這些領域中包括 Java、HTML、.NET、Microsoft Silverlight、Adobe Flex 和 Dojo Toolkit。版本 8.2.1 增加了對測試 Flex Spark 應用程序的支持,以及其他一些新特性。本文將介紹用於測試 Flex Spark 應用程序的設置和腳 本創建。您將學習如何啟用 Spark 應用程序,讓 Rational Functional Tester 可以識別 Spark 控件。這會 讓您更好地理解它,使您更輕松地使用 Rational Functional Tester 實現 Flex Spark 的測試自動化。
先決條件
Rational Functional Tester 8.2.1 或更高版本。
Adobe Flash Builder 4.0 或更高版本。
Adobe Flash Player 10.0 或更高版本。
Microsoft Internet Explorer 或 Mozilla Firefox 浏覽器
Java Runtime Environment (JRE)
Rational Functional Tester Flex 測試支持的概述
Rational Functional Tester 支持對基於 Flex SDK 2.0 及更高版本構建的 Flex 應用程序進行測試。隨著 Flex4 的發布,針對 Flex 用戶界面組件推 出了一個稱為 Spark 的新皮膚組件架構。如果包含 Flex Spark 控件的應用程序是基於 Flex SDK 4.0 或 4.1 而構建的,那麼 Rational Functional Tester Version 8.2.1 及更高版本將會支持這些應用程序的測試 。Flex 應用程序的測試需要啟用 Flex 應用程序的步驟,以便可以使用 Rational Functional Tester 對其 進行測試。啟用涉及在 Flex 應用程序中添加對自動化庫的引用。這可以在源代碼級別上完成,或作為運行時 啟用來完成。本文將介紹在源代碼級別上的啟用。
在 Flex 應用程序中添加對自動化庫的引用
使用 Rational Functional Tester 進行 Flex 應用程序測試自動化,這要求添加對 Flex 和 Functional Tester Flex automation 自動化庫的引用。這些庫其實是自動化的 .swc 文件。Flex 自動化庫隨 Flash Builder 一起安裝,與其對應的 Functional Tester Flex automation 自動化庫則隨 Rational Functional Tester 一起安裝。
您可以使用以下三種方式之一將引用添加到自動化庫,以下各節將對它們逐個進行 解釋:
在 Flash Builder IDE 中添加引用
使用 Rational Functional Tester Configure Application 向導添加引用
使用命令行添加引用
方法 1. 在 Flash Builder IDE 中添加引用
啟動 Flash Builder 4.0 或更高版本,並創建一個新的 Flex 項目。
導入附件的 TestSparkwithRFT.mxml 應用程序。
選中 Flex Project > Src > Package。
右鍵單擊包,並單擊 Import。
選中 General > File System。
單擊 Next。
浏覽到保存 .mxml 文件的目錄。從右邊窗格中選中 .mxml 文件,並單擊 Finish。
轉到 Project > Properties > Flex Compiler。
在 Additional Compiler 參數文本框中,添加清單 1 中的庫。
清單 1. 要添加的庫
-locale en_US -include-libraries "C:\Program Files\Adobe\Adobe Flash Builder 4.x\sdks\
4.x\frameworks\libs\automation\automation.swc"
"C:\Program Files\Adobe\Adobe Flash Builder 4.x\sdks\4.x\
frameworks\libs\automation\automation_agent.swc"
"C:\Program Files\Adobe\Adobe Flash Builder
4.x\sdks\4.x\frameworks\libs\automation\automation_spark.swc"
"C:\Program Files\Adobe\Adobe Flash Builder 4.x\sdks\4.x\frameworks\libs\automation\
automation_dmv.swc"
"C:\Program Files\IBM\SDP\FunctionalTester\bin\rftFlex4.0.swc"
"C:\Program Files\IBM\SDP\FunctionalTester\bin\rftProp_Flex4.0.swc"
重要事項:
在上面的參數中用相應的 Flash Builder 和 SDK 版本替換 4.x 。
注意:
上面的路徑在 32 位系統中是理想路徑。您需要更改參數,使其指向 .swc 文件的正確位置。添加上述參 數後,在這個項目中創建的任何 Flex Halo 或 Spark 應用程序將准備就緒,可以使用 Rational Functional Tester 對其進行測試。
該代碼是故意斷行的,以適合屏幕顯示。請使用代碼清單下載文件的正確代碼。
圖 1. Flash Builder Project > Properties 向導,包含其他編譯器參數
單擊 Apply,然後單擊 OK。
Flash Builder 將編譯 .mxml 文件,而相應的 .swf 和 .html 文件將在 Flex Project 的 bin-debug 位 置中創建。在本例中,將生成以下兩個文件:
TestSparkwithRFT.swf
TestSparkwithRFT.html
Flex Spark 應用程序的測試將使用此 .html 文件。
方法 2. 使用 Rational Functional Tester Configure Application 向導添加引用
將附件的 TestSparkwithRFT.mxml 文件(參見 “下載”)復制到您的 C:\ 驅動器上的目錄中。例如:
C:\TestFlexSpark\)
從 Rational Functional Tester 透視圖中選擇 Configure Applications for Testing,啟動 Application Configuration Tool 向導。
在 Application Configuration Tool 向導中,單擊 Add 按鈕。
在向導中選擇 Flex Application,然後單擊 Next。
圖 2. Add Application 向導
選擇 Configure Flex application setup,並單擊 Next。
圖 3. 選擇 Flex 應用程序配置類型
在 Flex application configuration 向導中,選擇:
Local Application
Flex SDKs 為 4.0/4.1(因為 Spark 支持是從 Flex 4.x 開始)
您的系統的 OS 類型
單擊 Browse(針對 Application 文本框的那個),選擇 Flex Spark Application 文件。
單擊 Browse(針對 SWF Target Location 的那個),選擇應該生成編譯的 Flex Spark Application .swf 文件的目錄。
圖 4. Add Application 向導,選擇 Flex 應用程序配置參數
選中 Generate HTML Page 復選框,以生成與此 Flex Spark 應用程序對應的一個 HTML 頁面。
注意:
Flex 應用程序僅在加載到 HTML 浏覽器中時可以進行測試。Rational Functional Tester 不支 持在獨立 Flash 播放器中的 Flex 應用程序。
根據 SWF Target location 填充啟用的 HTML 文本框。
單擊 Finish。
請注意,在 Application Configuration Tool 中的 Applications 列表中出現的 Spark 應用程序。此時 ,您可以重命名所添加的應用程序。
方法 3. 使用命令行添加引用
將附件文件解壓縮到您的系統上的位置。例如:
C:\TestFlexSpark
啟動命令提示符(最好是 Adobe 命令提示符或 Microsoft Visual Studio 命令提示符)。
轉到應用程序的目錄(解壓縮文件的目錄,在本例中是 C:\TestFlexSpark)。
在命令提示符運行壓縮文件中所提供的批處理文件,文件名是 .mxml 文件的名稱(如圖 5 所示的屏幕截 圖):
C:\TestFlexSpark>buildsparkapplicationwithFlex41adaptor.bat TestSparkwithRFT.mxml
圖 5. 命令提示符顯示了要執行批處理文件的命令
提示:
在 Rational Functional Tester 安裝的 Flex 目錄中提供了相應的批處理文件。
執行上面的命令後,生成此 swf 文件:
TestSparkwithRFT.swf。
當您擁有此 .swf 文件時,可以使用一個對象或嵌入標記將它嵌入 HTML 頁面,例如 TestSparkwithRFT.html(它包含清單 2 中的代碼),如此處所示。
清單 2. 加載 Flex swf 的 HTML 頁面的源代碼
<HTML> <HEAD><TITLE>Flex Sample Application Testing</TITLE> </HEAD> <BODY> <HR> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="myapp" width="100%" height="100%" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"> <param name="movie" value="TestSparkwithRFT.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value=#CCCCCC /> <param name="allowScriptAccess" value="sameDomain" /> <embed src="TestSparkwithRFT.swf" quality="high" bgcolor=#CCCCCC width="100%" height="100%" name="myapp" align="middle" play="true" loop="false" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" plug-inspage="http://www.macromedia.com/go/getflashplayer"> </embed> </object> </BODY> </HTML>
您可以對另一個 Flex 應用程序使用相同的 HTML 文件,只需更改代碼片段中的 .swf 名稱。
在 Flex 應用程序上進行錄制
如果遵循了上面的第二種方法,那麼 Flex 應用程 序的配置已經完成,您可以在 StartApplication 向導列表中看到它。
在第一種和第三種方法中,您 可以指向相應的 HTML 頁面來配置 Flex Spark 應用程序進行測試。
從 Rational Functional Tester 透視圖中選擇 Configure Applications for Testing,啟動 Application Configuration Tool 向導。
在 Application Configuration Tool 向導中,單擊 Add 按鈕。
在 Add Application 向導中,選擇 Flex Application,然後單擊 Next。
選擇 Add URL of Flex Application。
圖 6. Add Application 向導,添加 Flex 應用程序的 URL
在文本框中提供 HTML 文件的路徑。例如,如果您使用了第三種方法,則需要添加以下路徑:
C:\TestFlexSparkApplication\TestSpark.html
單擊 Finish。
現在,Spark 應用程序出現在 Application Configuration Tool 的 Applications 列表中。
錄制 測試腳本
在配置完應用程序之後,就可以開始錄制針對 Spark 應用程序的測試腳本了。
單擊 Record 開始錄制 Rational Functional Tester 腳本。
輸入腳本名稱,選擇腳本文件夾位置,然後單擊 Finish。
在錄制窗口中單擊 Start Application,選擇前面已配置好的 Flex Spark 應用程序。
在 Internet Explorer(或您的默認浏覽器)中啟動應用程序。您可以在控件上執行操作,這些操作將會 錄制下來。
已錄制腳本的示例
在您完成測試場景後,可以停止錄制,這會生成測試腳本,如圖 7 中的示例測試腳本所示,它顯示了 Flex Spark 對象及其相應的事件已被識別。這使得用戶可以捕獲和回放 GUI 級別的交互,以驗證數據和屬性,並在 Spark 控件上執行數據驅動。
圖 7. Rational Functional Tester 腳本樣例,包含 Flex Spark 控件上錄制的操作
圖 8. 對象映射樣例顯示了 Spark 控件的層次和屬性
一些強制性步驟
為了測試 Flex 應用程序,應該啟用所使用的浏覽器。使用 Rational Functional Tester 的 Enable Environments for Testing 向導啟用浏覽器,並確保通過了浏覽器啟用測試。
應該從可靠目錄運行應用程序。請按照下列步驟分配信任的名稱:
在以下目錄之一創建一個文件夾 FlashPlayerTrust:
C:\WINDOWS\system32\Macromed\Flash(在 32 位系統上)
C:\Windows\SysWOW64\Macromed\Flash(在 64 位系統上)
在 FlashPlayerTrust 文件夾中創建一個名為 Flex 的文件,不使用任何文件擴展名。
在 Flex 文件中輸入 Flex 應用程序的目錄路徑。例如,在上述示例中(第二種或第三種方法),Flex 應 用程序在 C:\TestFlexSpark 中,所以在 Flex 文件中輸入的路徑為 C:\TestFlexSpark。
Save 文件。
在將 Flex 應用程序加載到浏覽器時,在警告對話框中單擊 Yes,允許加載 ActiveX 插件。
如果使用 Flash Builder IDE 生成的默認 HTML 頁面,則無法識別 Flex 控件。
在編輯器中打開 HTML 頁面。
刪除此語句,它位於 HTML 頁面的開始之處:
<!-- saved from url=(0014)about:internet -->
由於此語句,不會將 Rational Functional TesterFlexPlugin.dll 加載到浏覽器中,並且無法測試 Flex 應 用程序。如果您使用 Flash Builder 並希望測試這些應用程序,那麼請修改 HTML 頁面的模板,以便排除該 語句。
在 Microsoft Windows 服務器上,需要以管理員身份運行 Rational Functional Tester,然後才能在 Flex 應用程序上進行錄制。
疑難解答提示
添加其他編譯器參數後,在 Flash Builder IDE 中出現錯誤
確保 .swc 文件的路徑是正確的。
在使用第二種方法後,HTML 頁面變成空白頁面
檢查目錄中是否創建了 .swf 文件。如果在目錄中沒有創建的 .swf 文件,那麼請參閱下一個問題的說明 。
在使用第二種方法添加引用時,生成了 .bat 和 .html 文件,但沒有生成 .swf 文件
嘗試在命令提示符下手動執行批處理文件。它會顯示出確切的錯誤,該錯誤可能與 .swc 文件的路徑有關 。如果 .swc 文件的路徑不正確,那麼請修改 .bat 文件,使其指向 .swc 文件的正確位置,然後在命令提示 符下再次手動執行該批處理文件。這應該會生成所需的 .swf 文件。
提示:
對於未來的引用,建議 在 Rational Functional Tester 安裝的 Flex 目錄中的FlexInstallInfo.properties 文件中修改路徑。在 該文件中修改路徑是一次性的任務,並且可以解決使用 Rational Functional Tester Application Configuration 向導生成 .swf 文件的問題。在修改 FlexInstallInfo.properties 文件後重新啟動 Rational Functional Tester。
如果在手動執行批處理文件時看到這個異常(如前一個問題所述):
線程 "main" java.lang.UnsupportedClassVersionError 中的異常:flex2/tools/Mxmlc(不 支持 major.minor 版本 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
請將 JAVA_HOME 變量設置為指向更高 版本的 JDK,如 jdk 1.6。
雖然正確設置了環境,但什麼都沒有錄制下來。
嘗試以下步驟,然後重新啟動應用程序"
訪問 Flash Player 的 Settings Manager。
在 Flash Player 打開一個應用程序。
單擊右鍵並選中 Settings。
選中 Privacy 選項卡。
單擊 Advanced。Adobe Flash Player 啟動新的浏覽器窗口,並加載 Settings Manager 幫助頁面。
單擊 Global Security Settings 鏈接,打開 Global Security Settings 窗口。
將您的應用程序目錄添加到 Secured 或 Trusted 目錄。在 "Always trust files in these locations" 下拉菜單中,單擊 Add location,並浏覽到該位置。
注意:
有關設置安全配置的更多信息,請訪問 Adobe 網站。
下載