三、設計制作 RFT 腳本模板
自動化的準備數據是本系統的關鍵所在,所以設計性能良好,健壯性好的腳本是一個關鍵的工作。
在 RFT 中 Enable SAP 環境
在 functional Tester Perspective 下,點擊菜單 Configure->Enable Environments for testing,選擇 SAP GUI Tab,如圖 4 所示:
圖 4. Enable SAP GUI
錄制 Draft 腳本
創建一個新的 RFT 工程,從 SAP GUI Client 登錄頁面(如圖 5 所示)開始錄制。例如,錄制在 SAP 中創建 Renewal Quote for PA:
圖 5. SAP GUI Client 登錄頁面
當整個步驟都錄制完成之后,就形成了 Draft 的腳本,如清單 1 所示:
清單 1. Draft 腳本
ant; padding-left: 2px; padding-right: 2px; font-family: arial, nsimsun, sans-serif; border-top: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; padding-top: 2px">
public void testMain(Object[] args) { // Window: SAP window_sap().maximize(); text_rsystbname().setText("xxxxx"); text_rsystbcode().setText("xxxxx"); text_rsystbcode().setFocus(); text_rsystbcode().setCaretPosition(8); window_sap().sendVKey(SAPTopLevelTestObject.VKEY_ENTER); // Window: SAP Easy Access comboBox_okcd().setText("va21"); window_sapEasyAccess().sendVKey(SAPTopLevelTestObject.VKEY_ENTER); // Window: Create Quotation: Initial Screen window_createQuotationInitialS().sendVKey(SAPTopLevelTO.VKEY_F4); // Dialog: Sales document type label_renwlQuoteForPA().setFocus(); label_renwlQuoteForPA().setCaretPosition(7); dialog_salesDocumentType().sendVKey(SAPTopLevelTO.VKEY_F2); // Window: Create Quotation: Initial Screen text_vbakvkorg().setText("0412"); text_vbakvtweg().setText("00%"); text_vbakspart().setText("00"); text_vbakvkbur().setText("0412"); text_vbakvkbur().setFocus(); text_vbakvkbur().setCaretPosition(4); window_createQuotationInitialS().maximize(); … … } |
改進腳本
從錄制出來的腳本看到,還有很多不完善的地方,我們要對其進行改進,建議從以下幾個方面進行改進:
a) 在同一臺 server 上只建議啟動一個 SAP GUI Client 實例,所以需要在啟動這個實例之前要殺死已經存在的實例。所以在腳本最前面加上如下代碼:
Runtime.getRuntime().exec("Taskkill /F /T /IM saplogon.exe"); |
b) 顯式的 Enable SAP 環境
盡管前面已經在 RFT IDE 中使能了 SAP 環境,但為了保險起見,在程序中再顯示的使能 SAP 環境。
RationalTestScript.getRootTestObject().enableForTesting(“saplogon.exe”) |
原文轉自:http://www.anti-gravitydesign.com