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

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

  • <strong id="5koa6"></strong>
  • Rational Functional Tester 對 SAP 進行自動化操作的新思路

    發表于:2011-11-15來源:IBM作者:皇甫 鵬點擊數: 標簽:
    SAP 是常用的 ERP 系統,在對與 SAP 有交互的軟件系統進行測試時,經常需要使用 SAP GUI Client 完成一定的常規操作,這些操作具有:步驟冗長、相對固定、耗時耗力、需要對 SAP 具備一定的知識和技能等特點。為了克服這些缺點,本文提出的解決方案是依賴 Rati

      引言

      SAP 是常用的 ERP 系統,在對與 SAP 有交互的軟件系統進行測試時,經常需要使用 SAP GUI Client 完成一定的常規操作,例如創建測試數據等。這些操作具備如下特點:需要一定 SAP 知識和技能;步驟冗長;耗時耗力;重復性操作居多等。為了提高工作效率,降低測試人員開發人員的工作量,通過自動化的方式來完成數據準備是我們首先想到的方法。Rational Functional Tester(RFT)是一款面向對象的自動化測試工具,支持 Html、SAP、Siebel 等,因此我們采用 RFT 作為自動化的引擎。不過如果只利用 RFT 進行自動化的操作,仍然不能滿足我們的需求,我們希望有一個 Self-Serve 的系統,并且能夠將準備好的數據集中保存,以便以后隨時提取查看數據或者基于已有的數據創建新的數據,那如何設計這樣一個系統呢?本文會詳細闡述。

      回頁首問題的提出

      作者所在的項目組負責開發和測試一個電子商務應用,SAP 是其中很重要的一個部分,因此不管是開發人員還是測試人員都需要在 SAP 中準備一些測試數據,這些數據準備的工作通常是手動的通過 SAP GUI Client 進行操作,耗時耗力,重復勞動較多,除此之外,這些測試數據的準備并不是每一個人都熟悉的,往往只有少數的幾個具有專業的 SAP 知識并且熟悉商業邏輯的人幫助大家來準備數據,在測試或者開發的任務比較重的時候,準備數據的需求往往也會很大,那么這幾個人的工作量就會很大,而且其他人的數據請求也會因此受到不同程度的延遲,因此如果能夠找到一個解決方案來克服這些缺點,對于提高工作效率和減輕工作量都是非常有好處的。

      回頁首方案描述

      自動化準備數據是我們首先想到的解決方法,縱觀眾多的自動化工具,我們決定使用 Rational Functional Tester 作為自動化引擎,RFT 是一款面向對象的自動化測試工具,它支持 Html,SAP,Siebel 等眾多的測試領域。但如果只是開發自動化測試腳本來完成數據準備,那仍然有諸多問題,例如,每跑一次腳本就得換一次原始數據;當在測試人員或者開發人員的工作機上跑腳本的時候,就不能干別的工作了;每次腳本運行完畢,得到數據準備的結果沒有一個集中保存的地方等等。因此只單純的用 RFT 自動化數據準備不能完全解決我們的問題,我們希望能有一個 Self-Serve 的系統,讓測試人員或者開發人員可以通過瀏覽器提交他們的數據請求,然后不用等多久,便可以收到一封包含數據請求結果的郵件,同時也可以在瀏覽器中查看已經提交的數據請求。

      回頁首總體架構設計

      圖 1. 架構圖

    圖 1. 架構圖

      從圖 1 架構圖中可以看到我們的架構設計是典型的 BS 結構,下面從數據流的角度來解釋該架構圖:

      1)2)用戶在 Web 表單中填寫原始數據,然后向 Web Application Server 提交數據請求;

      3)該數據請求被請求隊列(Request Queue)接收,如果請求隊列中有其他請求,則該請求會處于等待狀態,如果請求隊列中只有這一個請求,則立即處理;

      4)請求隊列將需要處理的請求發送給處理引擎(Handling Engine);

      5)同時將該數據請求的數據插入到數據庫中;

      6)7)處理引擎根據數據請求的類型到 RFT 腳本模板庫中選取合適的模板,并且將模板中的數據占位符替換成原始數據,生成實際執行的腳本;

      8)處理引擎然后通過命令行的方式驅動 RFT 來執行自動化腳本;

      9)10)RFT 腳本通過 SAP GUI Client 對 SAP 進行操作,完成數據準備的過程;

      11)12)并且將數據請求的結果以及腳本執行過程中的信息返回給處理引擎;

      13)同時在數據庫中更新之前的數據請求記錄;

      14)15)16)將結果返回給用戶,觸發結果通知郵件。

      回頁首系統實現

      前提:

      1)安裝 Application Server(WAS 或者 Tomcat)

      2)在同一機器或者網內的某個機器上安裝 DB2

      3)在 Web Application Server 所在的機器上安裝 SAP GUI Client 以及 RFT

      我們項目組基于這種架構設計實現了 Data Request System,在此就以它為例來介紹實現的步驟,但只重點介紹處理引擎和腳本模板的設計以及 Web 系統如何驅動腳本執行。

      一、利用 Struts 2 建立友好的用戶界面

      基于 Struts 2 建立整個 Web 應用的的結構。web 界面主要是用于收集用戶的原始數據,然后將這些數據提交給腳本處理引擎,通過替換腳本模板中的數據占位符,從而利用生成的腳本驅動 SAP GUI Client 進行自動化操作,所以 web 界面是數據的入口,也是這個端到端自動化操作的起點。這里不贅述如何實現 web 用戶界面。圖 2 是 Data Request System 的主界面。

      圖 2. Data Request System 的主界面

    圖 2. Data Request System 的主界面

      二、設計數據庫表

      為了存儲數據請求記錄,系統用戶信息,模板存儲信息等,我們需要創建一個數據庫。在設計數據庫表的時候,我們要充分考慮系統的可擴展性以及數據的完整性等因素。

      以數據請求記錄表為例,這個表的目的是記錄每條數據請求,如圖 3 所示,由于每類數據請求所要輸入的原始數據的個數以及內容都不盡相同,所以我們不能將其每個輸入作為一個字段,而是將整體作為一個字段,而用分號分隔每個原始數據以形成這個字段的內容,在圖 3 中 REQ_INPUT 正是這個字段。除此之外,我們要考慮所有數據請求的共同特征,以抽象出字段,例如每一個數據請求,都需要有 ID(REQ_ID)、數據請求類型(REQ_TYPE)、提交者(USERNAME)、提交時間(CREATIONTIME)、請求結果(REQ_OUTPUT1 或者 REQ_OUTPUT2)、數據處理狀態(STATUS)、完成時間(FINISHTIME)等。

      圖 3. 數據請求記錄表結構

    圖 3. 數據請求記錄表結構

    原文轉自: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>