当前位置: 首页 > wzjs >正文

网站设计模板免费建站seo排名如何

网站设计模板免费建站,seo排名如何,广州企业网站建设电话,恒华大厦做网站公司在Spring Boot项目中结合Cucumber进行测试时,将结果(如图片、JSON数据)嵌入到测试报告中,主要通过Cucumber的嵌入(Embedding)机制实现。以下是具体实现步骤和示例: 核心原理 Cucumber支持在步骤定义中通过Scenario对象…

在Spring Boot项目中结合Cucumber进行测试时,将结果(如图片、JSON数据)嵌入到测试报告中,主要通过Cucumber的嵌入(Embedding)机制实现。以下是具体实现步骤和示例:


核心原理

Cucumber支持在步骤定义中通过Scenario对象附加(attach)任意二进制或文本数据,这些数据会被自动嵌入到生成的报告中(如HTML报告)。


实现步骤

1. 添加依赖

确保cucumber-javacucumber-spring依赖中包含报告模块:

<dependency><groupId>io.cucumber</groupId><artifactId>cucumber-java</artifactId><version>7.15.0</version>
</dependency>
<dependency><groupId>io.cucumber</groupId><artifactId>cucumber-spring</artifactId><version>7.15.0</version>
</dependency>
<dependency><groupId>io.cucumber</groupId><artifactId>cucumber-picocontainer</artifactId> <!-- 可选,依赖注入 --><version>7.15.0</version>
</dependency>
2. 配置报告生成

@CucumberOptions中指定HTML报告格式:

@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources/features",glue = "com.example.steps",plugin = {"pretty","html:target/cucumber-report.html",  // 生成HTML报告"json:target/cucumber.json"          // 生成JSON报告(可选)}
)
public class RunCucumberTest {
//Powered by https://zhengkai.blog.csdn.net/
}
 
3. 嵌入数据到报告

在步骤定义中注入Scenario对象,使用attach()方法嵌入数据:

示例1:嵌入图片(如失败截图)
import io.cucumber.java.AfterStep;
import io.cucumber.java.Scenario;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.springframework.beans.factory.annotation.Autowired;public class UISteps {@Autowiredprivate WebDriver webDriver; // 假设已配置Selenium WebDriver@AfterSteppublic void captureScreenshotOnFailure(Scenario scenario) {if (scenario.isFailed()) {// 截取屏幕为字节数组byte[] screenshot = ((TakesScreenshot) webDriver).getScreenshotAs(OutputType.BYTES);// 嵌入图片到报告(MIME类型指定为image/png)scenario.attach(screenshot, "image/png", "Failure Screenshot");}}
}
示例2:嵌入JSON数据
import io.cucumber.java.en.Then;
import io.cucumber.java.Scenario;
import com.fasterxml.jackson.databind.ObjectMapper;public class ApiSteps {@Then("验证API返回的JSON")public void verifyApiResponse(Scenario scenario) throws Exception {// 模拟获取API响应ApiResponse response = callSomeApi();// 将对象转为JSON字符串String json = new ObjectMapper().writeValueAsString(response);// 嵌入JSON文本到报告(MIME类型指定为application/json)scenario.attach(json, "application/json", "API Response");}
}

报告效果

  1. HTML报告

    • 图片会直接显示在步骤下方

    • JSON数据会显示为可折叠的文本框
      https://cucumber.io/images/blog/cucumber-html-screenshot.png

  2. JSON报告
    嵌入内容会以Base64编码存储在JSON中:

    "embeddings": [{"mime_type": "image/png","data": "iVBORw0KGgoAAAANSUhEUgAA...","name": "Failure Screenshot"}
    ]
     

关键注意事项

  1. attach()方法参数

    scenario.attach(data, mimeType, description);
    • data: 支持byte[]StringInputStream

    • mimeType: 如 "image/png""application/json""text/plain"

    • description: 报告中显示的标题

  2. 钩子函数选择

    • @AfterStep:每一步执行后嵌入(适合截图)

    • @After:每个场景执行后嵌入

    • 直接在@Given/@When/@Then步骤方法中嵌入

  3. 大文件处理

    • 避免嵌入超大文件(>10MB),可能影响报告打开速度

    • 建议使用外部存储链接代替:

      scenario.attach("https://example.com/screenshot.png", "text/uri-list", "External Screenshot");
  4. Spring上下文注入
    确保步骤类被Spring管理(使用@Component注解),并开启Cucumber-Spring集成:

    @SpringBootTest(classes = DemoApplication.class)
    public class SpringIntegrationTest {}

完整项目结构

src/test/
├── java/
│   ├── com/example/
│   │   ├── RunCucumberTest.java         // Cucumber 运行器
│   │   ├── steps/
│   │   │   ├── UISteps.java             // UI步骤定义
│   │   │   └── ApiSteps.java            // API步骤定义
│   │   └── config/
│   │       └── SpringConfig.java        // Spring测试配置
│   └── resources/
│       └── features/
│           └── login.feature            // 特性文件

通过以上实现,测试执行后可在target/cucumber-report.html中查看包含嵌入数据的完整报告。

http://www.dtcms.com/wzjs/421158.html

相关文章:

  • 网站里的做菠菜成人英语培训班哪个机构好
  • 北京网站建设公司华网天下优惠链接提取视频的网站
  • 独立b2c网站百度手机助手安卓版下载
  • 马鞍山市重点工程建设管理局网站网上推广的平台有哪些
  • 站长统计草莓网址线下广告投放渠道都有哪些
  • 网站个人博客怎么做宁波seo外包快速推广
  • 网站仿站是啥贵港网站seo
  • 软件外包产业长春seo代理
  • 做外汇门户网站自己怎么建网站
  • 邢台精品网站建设百度应用下载安装
  • 建设一个网站首先需要十大广告公司排名
  • wordpress站点大全搜索引擎优化叫什么
  • j建设银行查数据的网站软广告经典例子
  • 做外贸哪些网站比较好网络营销策略的定义
  • 移动互联网的终端包括我们大家经常使用的seo视频
  • 湖南省郴州市宜章县疫情最新消息天津百度seo排名优化软件
  • 网站建设分工人民日报最新头条10条
  • 阿里云网站建设怎么样全网seo优化电话
  • 沙湾移动网站建设上海自动seo
  • 黄石网站建设多少钱数据分析师35岁以后怎么办
  • 平台网站开发简报沈阳seo关键词排名
  • 网站开发计划书封面设计爱站工具查询
  • 商城网站项目工作的流程设计公司取名字大全集
  • 甘肃网站建设费用搜索排名优化公司
  • 单页移动网页建站教程适合中层管理的培训
  • 网站 弹出管理培训机构
  • 潍坊网站建设价格百度推广后台登录页面
  • 露营旅游网站策划书持续优化完善防控措施
  • 公司网站建设一年多少钱深圳小程序开发公司
  • 如果在工商局网站上做股权质押国内优秀网站案例