Rational Functional Tester 对 SAP 进行自动化操作的新思路(2)

发表于:2011-11-15来源:IBM作者:皇甫 鹏点击数: 标签:
三、设计制作 RFT 脚本模板 自动化的准备数据是本系统的关键所在,所以设计 性能 良好,健壮性好的脚本是一个关键的工作。 在 RFT 中 Enable SAP 环境 在

  三、设计制作 RFT 脚本模板

  自动化的准备数据是本系统的关键所在,所以设计性能良好,健壮性好的脚本是一个关键的工作。

  在 RFT 中 Enable SAP 环境

  在 functional Tester Perspective 下,点击菜单 Configure->Enable Environments for testing,选择 SAP GUI Tab,如图 4 所示:

  图 4. Enable SAP GUI

图 4. Enable SAP GUI

  录制 Draft 脚本

  创建一个新的 RFT 工程,从 SAP GUI Client 登录页面(如图 5 所示)开始录制。例如,录制在 SAP 中创建 Renewal Quote for PA:

  图 5. SAP GUI Client 登录页面

图 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.ltesting.net