python測試框架pytest和測試報告allure的聯合使用-----測試套件


最近采用jenkins+python+pytest+allure寫了一些自動化測試用例。碰到這樣一種場景:如果我創建了2個測試任務,測試任務1包含2個測試用例test_a.py和test_b.py,測試任務2包含一個測試用例test_c.py。

前提:需要在jenkins上面配置allure、jdk地址

一. 常規操作

假設我的代碼目錄結構有如下3個測試用例:

 

 

然后我在jenkins上面核心配置運行他們,並展示allure上面

 

 

 

note: 上面的\autotest\target\allure-results目錄需要在本地jenkins目錄中指定好。

 

build后發現如下結果:

 

 test_a.py和test_b.py、test_c.py都屬於同一個測試套example02.

二. 生成不同的suite,並且不同的suite分開展示

首先在准備如下目錄結構:

 

然后修改jenkins配置如下:

 

 

 

 這樣生成的報告就有兩個測試套了。

 

總結:pytest中的測試套感覺就是一個測試文件目錄對應一個測試套。和testng中不一樣,可以隨便添加測試類放到一個suit.xml文件中。我們可以根據任務選取的不同,從而來生成不同的suite文件。

 三. 通過新建test.py文件來存儲要本次執行的所有用例

1.方法一:可以通過pytest.main方式

但是這種方式必須放在非test_開頭或者_test結尾的py文件中,可以放在testrun.py文件中。比如有一個testrun.py:

import pytest


if __name__ == '__main__':
    pytest.main(["-s", "test_a.py", "test_b.py"])

這樣testrun.py運行后就會執行test_a.py和test_b.py兩個用例

2.方法二:通過新建pytest用例,來存儲本次要執行的測試用例,比如test_all.py,在里頭需要執行5個測試用例test_a.py,test_b.py,test_c.py,test_d.py,test_e.py

test_all.py中的實現如下:

 

from src.example02.test_a import *
from src.example02.test_b import *
from src.example02.test_c import *
from src.example03.test_d import *
from src.example03.test_e import *

 

 build結束后:

 

 可以發現,test_all.py就是我們的測試套,它包含了5個測試用例。這就可以不同的測試任務對應不同的測試套,不同對的測試套下面可以放各種組合的用例。一個用例可以放在不同的測試套中。

 

原創文章,轉載請注明出處!(寫的是核心的配置、代碼,如有不懂,歡迎留言交流)


免責聲明!

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



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