后台接口,動態生成測試用例名稱,測試用例請求數據


做自動化測試剛入門的時候,我們一般用Jemter配置請求url/port,請求方式,然后編寫一條條case, 將對應的case中創建符合的請求body_sample

一般的后台接口,需要考慮的無非是如下:

正確的請求,驗證數據庫中對應的數據被創建/更新,驗證Response中返回碼匹配

異常的請求,對應下面的圖 

 

必傳字段,一一驗證,
請求傳入的必傳字段1未傳
請求傳入的必傳字段2未傳
...

 

必傳字段傳空,一一驗證,
請求傳入的必傳字段1傳空,驗證返回xxx
請求傳入的必傳字段2傳空,驗證返回xxx

 


請求傳入的字符串超過最大長度限制,
比如name字段最大允許20個長度,請求傳入的name是21個中文字符,驗證返回xxx
考慮英文模式,需要接口說明文檔先澄清中英文長度是否一致,因為比如sqlserver數據庫中,varchar()和nvarchar()對中英文區別
...

 

請求傳入的方式為get,不是規定的post,驗證返回xxx
請求傳入的請求體是json格式

 

========================================================

 

有沒有遇到過以下一些變更
比如請求中的必傳字段,忽然又增加了一個,
比如請求中的入參的名稱,從telephone更改成了mobile

 

那請求體如果本身字段已經很多了,那這時候要逐個更改測試用例中的請求體,是不是特別費事兒
而開發只需要將POJO中的實體,增加一個屬性,用對象來進行接收即可,
只需要話費幾分鍾的時間,
而測試將測試數據逐個修改,既耗費時間,又不學習新技能,這樣的蠢活兒做多了,自己都快懷疑人生。

那我們能夠動態地生成測試用例和測試數據嗎?

只要多動腦,就可以。基於上面的想法,我就開發了以下的測試平台,可以通過輸入接口的入參和入參的類型,動態生成測試用例名稱和測試用例的數據。目前是json格式的body。 

https://www.88bugs.com/bug/login

 如下注冊接口,需要6個入參,其中5個入參是必傳參數。

我只需要在平台中,填寫入參名稱,入參Sample,入參最大長度,就可以讓平台替我們生成測試用例。

依次點擊頁面上的button,生成對應類型的測試用例

然后點擊下載的button,將自己的測試用例下載下來

有了測試用例和測試數據,想進行運行,就很方便了,你可以用Jmeter運行,可以用java+httpclient,可以用python+requests等等

當然,我這邊做的還不全,可以繼續新增mobile應該有的格式,比如1打頭且必須長度11位且全是數字,比如郵箱需要含有@和.等,將這些常用的檢驗封裝成方法,以后直接拿來調用

如果,考慮到請求體中通常會有加密字段,根據各種規則加密,可以在寫一些方法,若干個字段通過某種方式加密等等

目前只是個demo,需要更多的時間,和api 接口的特征,再來進行開發


免責聲明!

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



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