c) 啟動 SAP GUI Client(如圖 6 SAP GUI Client 啟動界面)。
Runtime.getRuntime().exec(“C:/ProgramFiles/sappc/SAPgui/saplogon.exe”) |
圖 6. SAP GUI Client 啟動界面
d) 通過 Find 方法查找 SAP GUI Logon 界面,點擊 Logon 進入登錄主界面:
TestObject[] sapApps = getRootTestObject().find(atChild(".name", "SAP Logon 710")); |
在此不一一列出改進的方方面面,開發者要根據實際情況作相應的改進。
制作 RFT 腳本模板
根據總體架構的設計,需要根據腳本模板生成實際執行的 RFT 腳本,所以應該將 Draft 腳本中的原始數據用占位符替代,等到提交某個數據請求時,再替換回來。
清單 2. 改進后的 RFT 腳本模板
public void testMain(Object[] args) { Object[] allArgs = args; String sapLogonExe = (String)allArgs[0]; String userName = (String)allArgs[1]; String password = (String)allArgs[2]; try { Runtime.getRuntime().exec("Taskkill /F /T /IM saplogon.exe"); Runtime.getRuntime().exec(sapLogonExe); } catch (IOException e) { e.printStackTrace(); } RationalTestScript.getRootTestObject().enableForTesting("saplogon.exe"); TestObject[] sapApps = getRootTestObject().find(atChild(".name", "SAP Logon 710")); window_sap().maximize(); text_rsystbname().setText(userName); text_rsystbcode().setText(password); 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(SAPTopLevelTestObject.VKEY_F4); // Dialog: Sales document type label_renwlQuoteForPA().setFocus(); label_renwlQuoteForPA().setCaretPosition(7); dialog_salesDocumentType().sendVKey(SAPTopLevelTestObject.VKEY_F2); // Window: Create Quotation: Initial Screen text_vbakvkorg().setText("%SALES_ORG%"); text_vbakvtweg().setText("%DIS_CHANNEl%"); text_vbakspart().setText("%DIVISION%"); text_vbakvkbur().setText("%SALES_OFFICE%"); text_vbakvkbur().setFocus(); text_vbakvkbur().setCaretPosition(4); window_createQuotationInitialS().maximize(); … … } |
原文轉自:http://www.anti-gravitydesign.com