Allure标记的使用

1 标题的使用

@allure.title("str")

1.1 作用

给每个测试设置测试标题

1.2 使用的位置

  1. 测试类前 ==>为该测试类的所有测试函数添加相同的标题
  2. 测试函数前 ==>为该函数添加对应的字符串标题

注意: 如果类前写了一个title,而且测试函数前面也写了一个title那么,测试函数前的名称优先级更高一些。

2 测试用例报告层次划分与执行

Allure会将测试用例划分为四个层次:epics,features,stories,skip。这四个层次,按照顺序依次包含【epics包含多个features,以此类推】,会在allure的目录下以下辖目录的的方式进行组织。同时也可通过pytest指令执行对应层级名称下的测试用例。

2.1 报告层次标记使用

这些标记可以在类前标记,可以在测试用例函数前进行标记,类和测试用例函数前进行标记。注意: 你在类前进行标记,然后再类中的测试用例再用该标记进行标记,allure采集用例的时候,用例数量会因此叠加。具体情况,那么去做一下就能了解刚刚的描述。

@allure.epic(str)        # 史诗层级的allure标记
@allure.feature(str)     # 特征层级的allure标记
@allure.story(str)       # 故事层级的allure标记
@allure.skip(str)        # 标签层级的allure标记

epics,features,stories都是目录层级的标记,而skip则会以小标签的形式存在于测试报告名称的title下。

2.2 执行特定标记下的测试案例

pytest支持allure标记来选择执行测试用例这样,就可以通过allure选择性的执行用例了。基本命令如下

pytest --allure-epics=EPICS_SET
pytest --allure-features=FEATURES_SET
pytest --allure-stories=STORIES_SET

上述命令,均为pytest命令,后面的参数为pytest支持allure标记层级筛选执行用例的参数选项。参数后面的大写字母,是对应的标记名称。可以填写多个同级标记名称,用英文逗号分割即可。

3 测试用例严重等级标记

allure不仅会将测试用例分成不同的层级,而且还可以将测试用例用不同的严重等级。这些严重等级按照优先程度递减分别为Blocker:中断缺陷,critical:临界缺陷,normal:普通缺陷,Minor:次要缺陷,Trival:轻微缺陷。
用于函数前面,标记用法如下代码所示:

@allure.severity(allure.severity_level.Blocker)
@allure.severity(allure.severity_level.critical)
@allure.severity(allure.severity_level.normal)
@allure.severity(allure.severity_level.Minor)
@allure.severity(allure.severity_level.Trival)

这样标记后,allure会以条形图的方式用不同的等级来区分对应等级下的用例的通过率。
同时,你可以通过下面的pytest命令来执行对应命令等级下的测试用例:

pytest --allure-severities=SEVERITIES_SET

SEVERITIES_SET的可选值为:blockercriticalnormalminortrivial

4 执行过程标记定制

执行过程的标记有多种使用方式可以在函数前,函数后,并且能够携带参数的进行测试步骤的标记,最终运行的步骤,会将执行过程打印在测试报告中【注:并不是日志中】。

4.1 函数前执行过程的标记

前提:该函数在头部引入了allure
使用方式如下:

@allure.step("字符串相加:{0},{1}")     
# 测试步骤,可自动获取函数参数 这个会定制step
def fun_ction(str1, str2):
    return str1, str2

通过这种方式,即可在pytest调用到该函数的时候,将测试的步骤,以及参数存入到allure生成的测试报告的步骤之中。

4.2 函数执行过程中的标记

前提:该函数的头部引入了allure
使用方式有两种,第一种为:

allure.step(str)

第二种为:

with allure.step(str):
    allure.sttach(str,str)

在两种方式都可以传入字符串,打印到执行步骤的报告中,不同的是,第二中可以有小的项目,【个人认为,第一种就够用】

4.3 使用step的原因

仅仅是为了allure能够将执行的步骤打印到报告中,而并非是看日志文件才能看到步骤。而两种标记其实都要用到,一个是检查某个动作的入参来使用,另一个,则是检查以下某个检查结果的动作的。用的熟练的化,看报告就能够看到测试程序到底是如何执行的。

5 其它杂项标记

其它的allure的标记个人认为可能有些杂项了,因为能用上的概率挺小的,因此,不做讨论,这里只是将语法格式写一下,以为以后有兴趣研究的人去研究一下,其实也不难。

@allure.issue("http://www.baidu.com")           # 链接1 ? 详解链接
@allure.testcase("http://www.testlink.com")     # 链接2 ? 详解链接
@allure.link("")                                # 链接3
allure.attach('附件内容', '我是附件名', allure.attachment_type.TEXT)    # 文字类附件
allure.attach.file(r'C:\123.jpg', '截图名', attachment_type=allure.attachment_type.JPG)    # 附件类附件【这里是图片】

你可能感兴趣的:(编程世界)