You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium执行功能步骤后发送API GET请求的实现方案咨询

混合UI+API校验实现方案

完全可以在Selenium完成指定UI操作后插入API校验逻辑,这种混合测试方案在Cucumber+JUnit的BDD框架中适配性很高,刚好可以解决你部分校验节点无UI访问权限的问题。Java生态下推荐搭配RestAssured库实现API请求的发送与结果校验,和现有框架的集成成本极低。

实现前提

先在项目的pom.xml(Maven)或build.gradle(Gradle)中引入RestAssured依赖,Maven示例:

<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>5.3.0</version>
    <scope>test</scope>
</dependency>

具体实现流程

你可以直接按照你梳理的3步校验逻辑封装代码,和已有的Selenium UI操作步骤完全解耦:

  • 步骤1:发送搜索POST请求,提取previewLink
    发送POST请求后解析响应JSON,直接提取目标字段即可,参考代码示例:
    // 从测试上下文获取你上传的资产路径/名称作为搜索入参
    String searchBody = "{\"keyword\":\"download.jpg\"}";
    String previewLink = given()
      .contentType(ContentType.JSON)
      .body(searchBody)
      // 可从Selenium driver中提取登录态cookie塞到请求里,避免重复登录
      .cookies(driver.manage().getCookies().stream().collect(Collectors.toMap(Cookie::getName, Cookie::getValue)))
      .when()
      .post("你的搜索接口地址")
      .then()
      .statusCode(200)
      .body("status.success", equalTo(true))
      .extract()
      .path("hits[0].previewLink");
    
  • 步骤2:使用previewLink发送GET请求
    直接用提取到的previewLink发请求即可:
    Response assetResponse = given().when().get(previewLink);
    
  • 步骤3:校验资产是否存在
    可以根据资产类型选择校验规则,图片类资产可以参考以下校验逻辑:
    // 校验请求返回状态码为200
    assetResponse.then().statusCode(200);
    // 校验返回内容类型为图片类型
    Assert.assertTrue(assetResponse.getContentType().contains("image/"));
    // 如需强校验内容一致性,可对比返回内容的MD5和本地原文件的MD5是否一致
    

和Cucumber BDD框架的集成建议

你可以把上述API校验逻辑封装成通用的Cucumber步骤,直接在feature文件中和UI步骤串联使用,示例feature片段:

Scenario: 上传资产后校验所有第三方应用同步成功
  Given 我登录到资产管理系统
  When 我上传资产download.jpg并完成发布
  Then 第三方应用A的UI上存在资产download.jpg # 这步用Selenium实现UI校验
  Then 无UI的第三方应用B上存在资产download.jpg # 这步用上述API逻辑实现校验

注意事项

  • 资产同步到第三方应用存在一定延迟,建议给API校验增加轮询机制,最多轮询10~30秒,每隔2秒请求一次,直到获取到预期结果或者超时,避免同步延迟导致的用例偶发失败
  • 所有测试数据比如资产名称、路径都存在Cucumber的测试上下文中即可,不要硬编码,提高用例的可复用性
  • 如果API请求有独立的鉴权逻辑,也可以单独封装API登录的工具方法,不用复用Selenium的登录态

内容的提问来源于stack exchange,提问作者Nagaraju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:24:05