写点什么

软件测试学习笔记丨 Allure2 报告中添加用例步骤

作者:测试人
  • 2024-07-09
    北京
  • 本文字数:1996 字

    阅读完需:约 7 分钟

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/28351

Allure2 报告中添加用例步骤

应用场景:编写自动化测试用例的时候经常会遇到需要编写流程性测试用例的场景,一般流程性的测试用例的测试步骤比较多,我们在测试用例中添加详细的步骤会提高测试用例的可阅读性。

Allure2 报告中添加用例步骤

  • Allure 支持两种方法:

  • 方法一:使用 Allure.step()方法添加。

  • 方法二:使用 @Step 注解添加。

调用方法添加用例步骤

  • 方法一:使用 Allure.step()方法添加。

实例 1

@DisplayName("步骤方法验证")public class StepMethodTest {    int result;
@Test @DisplayName("加法步骤验证") void testSum() { Allure.step("输入数字 3"); int a = pressDigit(3); Allure.step("输入加号"); String str = pressAddition(); Allure.step("输入数字 2"); int b = pressDigit(2); Allure.step("点击等号"); result = sum(a, b); Allure.step("验证结果是否正确"); assertEquals(5, result, a + str + b + "计算错误"); }
private int pressDigit(int digit) { return digit; }
private String pressAddition() { return "+"; }
public int sum(int... numbers) { return IntStream.of(numbers).sum(); }}
复制代码



实例 2

@Test    @DisplayName("一个测试方法中添加多个大步骤")    void testSteps() {        List<Executable> list = new ArrayList<>();        //验证登录搜索后播放是否正常        Allure.step("步骤1",()->{            //步骤1代码            System.out.println("登录");
Allure.step("输入用户名"); String name = "admin"; Allure.step("输入密码"); String pwd = "123456"; Allure.step("点击登录"); String login = name+pwd;// assert list.add(()->assertEquals("admin123456",login)); //... }); Allure.step("步骤2",()->{ //步骤2代码 System.out.println("搜索"); Allure.step("输入搜索内容名称");
Allure.step("点击搜索按钮");
Allure.step("获取搜索结果");
list.add(()->assertEquals("搜索成功","搜索成功")); //... }); Allure.step("步骤3",()->{ //步骤3代码 System.out.println("播放"); Allure.step("点击播放按钮");
Allure.step("等待2秒");
Allure.step("获取当前播放进度时间"); list.add(()->assertEquals("播放成功","播放成功")); //... });
assertAll(list); }
复制代码



使用注解方式添加用例步骤

  • 方法二:使用 @Step 注解定义一个测试步骤,在测试用例中使用。

package com.junit5;
import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;
@Data@AllArgsConstructor@NoArgsConstructorpublic class User { private String name; private int age;}package com.junit5;
import io.qameta.allure.Step;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
/** * @Step只能添加到非静态测试方法上 */@DisplayName("步骤注解验证")public class StepAnTest { int result;

/** *@Step("步骤描述") */ @Test @DisplayName("减法步骤验证") @Step("--减法步骤验证") void testSub() { User user =new User("刘诗诗",28); addUser(user); int a = pressDigit(6); String str = pressSubtraction(); int b = pressDigit(2); result = subtract(a, b); assertEquals(4, result, a + str + b + "计算错误"); }
@Step("输入的用户名和年龄为 {user.name},{user.age}") private int addUser(User user) { return user.getAge(); } @Step("输入数字 {digit}") private int pressDigit(int digit) { return digit; } @Step("输入减号") private String pressSubtraction() { return "-"; }
@Step("减法计算") public int subtract(int x, int y) { return x-y; }}
复制代码



注解不生效原因

  1. 没有正确引入依赖。

  2. 没有使用 JUnit5 或 TestNG 测试框架。

  3. 没有正确使用 @Step 注解。

  4. 未在 Allure 报告中启用步骤。

软件测试开发免费视频教程分享


发布于: 刚刚阅读数: 5
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试学习笔记丨Allure2报告中添加用例步骤_软件测试_测试人_InfoQ写作社区