pytest系列(二):篩選用例新姿式,mark 一下,你就知道。

pytest系列(一)中給你們介紹了pytest的特性,以及它的編寫用例的簡單至極。函數

那麼在實際工做當中呢,咱們要寫的自動化用例會比較多,不會都放在一個py文件裏。測試

以下圖所示,咱們編寫的用例存放在不一樣的py文件當中。spa

 

 

 

當咱們想只運行諸多py文當中的部分用例,怎麼辦呢?命令行

好比自動化工做當中,選擇test_a,test_33,test_000這3個用例來運行的話,如何過濾呢?blog

 

 

pytest.mark一下

在pytest當中,先給用例打標記,在運行時,經過標記名來過濾測試用例。自動化

 

 

 

步驟1:給用例打標籤

給用例打標記分爲2個步驟:io

 

1)註冊標籤名class

官方提供的註冊方式有2種,這裏只提供一種最簡單直接的方式:test

經過pytest.ini配置文件註冊。在pytest.ini文件當中:配置

[pytest] # 固定的section名

markers= # 固定的option名稱

  標籤名1: 標籤名的說明內容。

  標籤名2

  標籤名N

示例以下:

 

 

 

2)在測試用例/測試類中給用例打標記(只能使用已註冊的標記名)

在 測試用例的前面加上:@pytest.mark.已註冊標籤名

以下圖,對3個測試文件當中的,要篩選出來的用例,都打了me標籤 。

 

 

 

 

步驟2:運行時,根據用例標籤過濾(-m 標籤名)

pytest提供了命令行參數來配置運行時的條件。

在命令行當中,輸入pytest --help來查看全部可用的參數。

 

 

 

也能夠調用pytest.main()函數,將運行時的參數以列表傳進去,一樣也能夠達到命令行運行的效果。

根據標籤名過濾用例的參數爲:-m 標籤名

 

 

 

運行此文件的結果:

相關文章
相關標籤/搜索