1. 程式人生 > >python + allure生成測試報告

python + allure生成測試報告

分享 ima 功能測試 port 引入 nal 環境變量 https called

首先我們需要在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生成測試報告