用Robot Framework+python來測試基於socket通訊的C/S系統(網絡游戲)


 

 

項目終於換了方案,改用socket來實現而不是之前的http了,所以測試工具就不能用以前的了,因為測試人手少,逼不得已的必須要挖掘更多的自動化方案來彌補。於是先研究了下python的socket解決方案,最后確定了struct的網絡2進制數據讀寫方法,用python+threading處理后,形成了本地的自動化socket測試方案,該方案的邏輯流程如下圖:

 

 

image

 

實際上,通過配置簡單的協議和宏命令組合,就已經可以開始測試了,但為了要和每日集成結合起來,也為了以后的測試數據整合,用例整合更為方便,還是選擇將該工具和robotFramework結合起來。

 

當然結合不是那么簡單的拷貝過去,需要針對rf抽取socket工具中的核心模塊,這里最關鍵的就是抽取協議模塊、socket模塊了,原本就寫成了模塊化,方便機器人線程調用,所以抽取的時候就很簡單了。如下圖

image

從自定義的協議核心模塊protocols_struct中,繼承tjnetwork過來,重寫了關於socket服務器的連接方法,之后就是添加各個協議命令的關鍵字了,如截圖中的test_3方法。

定義了足夠的協議方法關鍵字后,就可以在RF中開始配置測試用例了。如下圖,配置足夠的環境變量(針對游戲項目必備的登錄服務器的ip、端口,邏輯服務器ip、端口)

image

 

在測試用例中,將自己的關鍵字方法添加進去,就組裝好了一份簡單的登錄測試用例,如下圖(包含登錄,服務器跳轉,角色刪除、角色建立等)

image

部分中文關鍵字的映射如下:

image

image

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM