yaml 文件中引用變量來讀取 python 代碼的設置值


在接口自動化測試的時候,yaml 文件一般放測試的數據或當配置文件使用,yaml 文件存放靜態的數據是沒問題的,python的數據類型基本上都是支持的。
有時候我們想在 yaml 文件中引用變量來讀取 python 代碼的設置值。

 

一:yaml文件中是靜態數據,那么,我們用python可以正常的讀取。

在接口自動化中,yaml文件保存測試數據。

我們可以用python語言正常的讀取這些靜態數據。

 

二:yaml文件中的數據是變量,我們如何用python語言的設置值寫入到yaml文件中呢?

 

 這樣我們就可以把python中的具體值:10004352寫入到了yaml文件中,替換了其中的變量值:$user

 

因為是返回的也是yaml.safe_load(re),意思是,返回的也是讀取到的是整個yaml文件,那么我們就可以直接調用

例如:

 

 這個yaml文件中的變量都被我們用具體的值替代了,所以我們是可以讀取到內容的,

那么,返回的就是我們需要的值了。

 

有點拗口,也不知道將沒講清楚,大家自己練習就會明白我的思路。

 使用場景:

易變的數據。例如:token值,隔幾天登錄就發現token值變了,而且如果我們一個一個手動的在yaml文件中修改token值,不方便,原因:幾十個接口中都寫死了的token值,

修改需要花費很長時間,那么,我們就在python中傳新值進去。

還有一種情況,每次請求發生后,返回的值不一樣。

例如:我最近做的紅包接口,其中預訂單的值:

envelopeNo紅包編號每次返回的值都不一樣,而且后面的發紅包接口要調用這個值,那么發紅包中的json值每次都不一樣,
那么,我們就要調用這個方法,重新遍歷一遍yaml文件,把我們獲取
envelopeNo值的方法傳入,這樣我們就可以每次獲取到最新的值。

 

 

我目前想到的場景就是這些,如果改動量小,改動不頻繁的數據,那么,我們直接在yaml文件中修改就是了,

反之,我們就要在yaml中把這些寫成變量,在實際運行中傳新值。


免責聲明!

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



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