轉自https://www.cnblogs.com/XhyTechnologyShare/p/12056814.html
從 2.0.0 版本開始,HttpRunner 不再支持在測試用例文件中進行參數化配置;參數化的功能需要在 testsuite 中實現。如需實現數據驅動機制,需要創建一個 testsuite,在 testsuite 中引用測試用例,並定義參數化配置。
如需對某測試用例(testcase)實現參數化數據驅動,需要使用 parameters
關鍵字,定義參數名稱並指定數據源取值方式。
參數名稱的定義分為兩種情況:獨立參數單獨進行定義;多個參數具有關聯性的參數需要將其定義在一起,采用短橫線(-
)進行連接。
數據源指定支持三種方式:
1.在 YAML/JSON 中直接指定參數列表:該種方式最為簡單易用,適合參數列表比較小的情況
2.通過內置的 parameterize(可簡寫為P)函數引用 CSV 文件:該種方式需要准備 CSV 數據文件,適合數據量比較大的情況
3.調用 debugtalk.py 中自定義的函數生成參數列表:該種方式最為靈活,可通過自定義 Python 函數實現任意場景的數據驅動機 制,當需要動態生成參數列表時也需要選擇該種方式。
參數配置詳解
1.獨立參數 & 直接指定參數列表
2.關聯參數 & 直接指定參數列表
3.獨立參數 & 引用 CSV 文件
對於 CSV 數據文件,需要遵循如下幾項約定的規則:
1.CSV 文件中的第一行必須為參數名稱,從第二行開始為參數值,每個(組)值占一行;
2.若同一個 CSV 文件中具有多個參數,則參數名稱和數值的間隔符需實用英文逗號;
4.關聯參數 & 引用 CSV 文件
5.獨立參數 & 自定義函數
6.關聯參數 & 自定義函數
獨立參數和關聯參數 在自定義函數中是一樣的,需要注意的是,在自定義函數中,生成的參數列表必須為 list of dict
的數據結構,該設計主要是為了與 CSV 文件的處理機制保持一致。
7.如果想要實現多個參數的隨機組合可以在parameters中指定多個參數,系統會按照笛卡爾積的概念執行行。
例如: