在 Web 應用程式的 QA 測試環境中,通常是使用分散式伺服器上的多個瀏覽器實例來執行數千個瀏覽器互動的自動化測試案例。您可以使用 AppScan® 手動探索伺服器,記錄由這些自動作業所產生的資料流量,以進行安全測試。
執行這項作業的原因和時機
此程序幫助您使用功能測試用途的 Script 所產生的 HTTP 資料流量,以去除為了記錄 AppScan Script 而需要的其他工作。您可以在組織內設定所需要的手動探索伺服器數目,然後使用 REST API 自動記錄從測試案例流向測試伺服器的資料,並將資料以 *.htd 檔案自動傳送至 AppScan Enterprise 來配置為掃描。在此情況下,您需要使用指令行介面下載 Manual Explorer 工具,並設定「手動探索」伺服器。
註:
- *.htd 檔案的檔案大小上限是 20 MB。如果您超過此限制,請錄製較小的序列,將此檔案分割成較小區塊。
- 為了方便起見,以下的 Script 可用來自動擷取 HTTP 資料流量,以及自動建立掃描工作來使用所擷取的 HTTP 資料流量:recordTraffic.zip. (如果檔案未下載,請用滑鼠右鍵按一下鏈結,並將檔案儲存到硬碟。)
程序
- 下載 Manual Explorer 工具及設定 Manual Explorer Server:
- 在工作的「掃描項目」頁面的「手動探索」區段中,按一下新增圖示()。
- 在手動探索頁面上,選取使用 Manual Explorer 工具或 AppScan Standard 探索資料檔。
- 下載並安裝工具。
通常會安裝在 <install-dir>\HCL\AppScan Manual Explorer。
- 在伺服器上執行指令行提示,將目錄切換至 <install-dir>\HCL\AppScan Manual Explorer,然後輸入:manualexploreserver.exe -host <host_name_ip> -recordingsDir <recordings_dir>。
提示: 使用 -help 旗標來查看所有可用的指令行選項。
- 在您選擇的埠上啟動一個錄製階段作業:
- 在瀏覽器中,移至 http://<host_name_ip>:9999/start?port=<recordingPort>。錄製埠號是該錄製的 ID。
例如,http://myVM:9999/start?port=1111。"1111" 是記錄階段作業的 ID。
註: 確定發出控制指令的瀏覽器不使用 Manual Explorer Server 作為 Proxy;否則,控制指令會新增至錄製。
- 設定自動化或用於播放的瀏覽器使用 <host_name_ip>:<recordingPort> 作為 Proxy。
- 執行包含 QA 測試案例的自動化。
註: 您可以在自動化程序期間配置步驟 a 和 b。
- 停止錄製階段作業:
- 當自動化測試案例完成時,在瀏覽器中輸入這個 URL 來停止 Manual Explorer 記錄:http://<host_name_ip>:9999/stop?port=<recordingPort>&fileName=<recordingDataFile>。當您指定 fileName 引數時,記錄期間收集的資料會以 HTD 格式儲存。檔案路徑是 <recordings_dir>\<recordingDataFile>.htd。如果您未使用檔名,會停止錄製而不儲存檔案。
- 如果擷取資料流量資料完成,請鍵入 quit 來結束程序。
- 在 AppScan Enterprise,請確定您完成下列步驟:
- 設定電子郵件通知。確定已配置電子郵件的 SMTP 伺服器。請參閱配置 Enterprise Console,確定您已設定個人電子郵件通知來接收警示。請參閱配置您的使用者設定。
- 在「手動探索」範本中建立掃描,只測試指定的 URL(在探索選項頁面上)。
- 對於自動化 Script 所產生報告套件中的「安全問題」報告,設定警示。請參閱新增警示至報告套件。
- 寫下您剛建立的工作的資料夾 ID(從 URL 中。例如:https://<servername>/ase/FolderExplorer.aspx?fid=8)
- ASECMD 公用程式和 ManualExploreServer 指令行儲存在相同的資料夾中。這個公用程式可讓您輕鬆地建構指令,以利用步驟 4 所建立的範本,將已錄製的資料流量檔案發佈至 AppScan Enterprise。掃描是在您於步驟 4 中建立掃描工作的同一個資料夾中建立。
- 開啟指令行提示,導覽至 AppScan Manual Explorer 工具所在的資料夾。
- 鍵入這個指令來建立掃描: ASECMD -aseUrl https://<ase_server_name>/ase/ -jobTemplateId 1 -htdFile \\qaserver\recordings\rec1.htd
註: 如果不指定使用者名稱和密碼,則指令行公用程式會使用現行使用者帳戶進行鑑別。
- 選擇性的: 如果要查看 ASECMD 公用程式可用的指令行提示,請開啟指令行提示,並且呼叫 asecmd.exe。視窗中會顯示用法明細。
- 在 AppScan Enterprise Server 的 Enterprise Console 中檢視結果。