python + allure生成測試報告
首先我們需要在python環境上安裝pytest庫,這裏建議通過pip安裝:pip install pytest
然後編寫一個簡單的pytest測試用例,這裏我們需要滿足以下條件
-
測試文件以test_開頭(以_test結尾也可以)
-
測試類以Test開頭,並且不能帶有 init 方法
-
測試函數以test_開頭
-
斷言使用基本的assert即可
編寫簡單代碼如下,test_sample.py
import pytest
class TestClass(object):
@pytest.fixture(scope=‘function‘)
def setup_function(request):
def teardown_function():
print("teardown_function called.")
request.addfinalizer(teardown_function) # 此內嵌函數做teardown工作
print(‘setup_function called.‘)
@pytest.fixture(scope=‘module‘)
def setup_module(request):
def teardown_module():
print("teardown_module called.")
request.addfinalizer(teardown_module)
print(‘setup_module called.‘)
@pytest.mark.website
def test_1(setup_function):
print(‘Test_1 called.‘)
def test_2(setup_module):
print(‘Test_2 called.‘)
def test_3(setup_module):
print(‘Test_3 called.‘)
assert 2==1+1 # 通過assert斷言確認測試結果是否符合預期
調用pytest,只需要在命令行裏定位到測試文件所在路徑,然後運行pytest即可
接下來,我們引入Allure 來生成漂亮的報告。
同樣,也是通過pip來安裝allure插件:
pip install allure-pytest
接著下載allure:2.7.0版本
https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip
解壓之後,將allure/bin目錄添加到環境變量path中:
接著,在測試腳本中,添加allure特性,直接看下面的腳本,我通過在腳本中添加註釋的方式給大家解釋allure特性的用途。
import pytest
import allure
@allure.feature(‘測試用例功能‘) # feature定義功能
class TestClass(object):
@pytest.fixture(scope=‘function‘)
def setup_function(request):
def teardown_function():
print("teardown_function called.")
request.addfinalizer(teardown_function) # 此內嵌函數做teardown工作
print(‘setup_function called.‘)
@pytest.fixture(scope=‘module‘)
def setup_module(request):
def teardown_module():
print("teardown_module called.")
request.addfinalizer(teardown_module)
print(‘setup_module called.‘)
@allure.story(‘功能測試用例1‘) # story定義用戶場景
@pytest.mark.website
def test_1(setup_function):
print(‘Test_1 called.‘)
@allure.story(‘功能測試用例2‘) # story定義用戶場景
def test_2(setup_module):
print(‘Test_2 called.‘)
@allure.story(‘功能測試用例3‘) # story定義用戶場景
def test_3(setup_module):
print(‘Test_3 called.‘)
assert 2==1+1 # 通過assert斷言確認測試結果是否符合預期
運行pytest --alluredir ./result/去生成測試結果
該目錄下為測試結果
接下來,用allure generate ./result/ -o ./report/ --clean命令將測試結果生成測試報告
該目錄下為測試報告所在,直接打開該報告有點問題,我們需要在pycharm中通過右鍵點擊用瀏覽器打開
python + allure生成測試報告