httprunner運行坑


踩坑記錄:

1.手動編寫pytest用例,時,文件名需用‘_test’結尾,否則使用hrun命令運行文件,會報錯
httprunner.cli:main_run:49 - No valid testcases found, exit 1

因為httprunner生成的pytest用例文件是默認用——test結尾,所以它只認識_test結尾的文件為測試文件,這樣可以使用任何pytest的執行方式用hrun運行了

2.allure報告坑
pytest/hrun testcases/flow_test.py --alluredir=reports/allureport

注意:產生報告前最好把allureport文件夾刪除掉,
之前生成的結果文件會在里面,如果沒有被覆蓋,報告會不准確

hrun執行命令后,查看報告可能會提示

 OSError: [WinError 6] 句柄無效。,此時改用pytest命令運行
3:環境變量.env文件

.env 文件來針對不同的運行環境作不同的設置
windows系統使用set命令來設置和獲取環境變量的值
設置環境變量:set username=‘admin’;查看環境變量值:set username
python獲取環境變量使用os模塊,所有環境變量會存放在os.environ對象中os.environ.get(‘username’)
cmd命令下對環境變量的修改值再當前窗口有效,並不是永久修改,關閉cmd窗口后不起作用
在cmd設置的環境變量沒法存儲,所以需要創建用過.env文件來存放環境變量,存儲采用 name=value 的格式
接下來在debugtalk.py中寫一個ENV函數,用於讀取環境變量,用於在 YAML/JSON /pytest腳本中直接引用環境變量

# debugtalk.py
import os
def ENV(keyname):
'''
獲取環境keyname對應的值
:return:
'''
value = os.environ.get(keyname, '')
return value

(在 HttpRunner 2.x版本中內置了函數 environ(簡稱 ENV))
HttpRunner 運行時,會自動將.env文件中的內容加載到運行時(RunTime)的環境變量中,然后在運行時中就可以對環境變量進行讀取了
使用${ENV(username)}

4.運行路徑坑

在命令行cli方式運行時,最好進入項目路徑下運行命令,不然在加載env文件時可能會報錯,沒有加載env文件內容
建議:
image
如果在下面這種路徑方式,有可能就會報錯了,因為可能因為路徑關系沒有成功加載env文件,后續有取值就會報錯
image


免責聲明!

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



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