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

如何在QA、生产等不同环境运行Rest-Assured API自动化测试脚本

Java+Rest-Assured+Cucumber 多环境测试配置实现方案

步骤1:拆分多环境独立配置文件

直接在项目src/test/resources目录下按环境拆分properties文件,不要把所有环境配置堆在同一个文件里:

  • config-qa.properties:存储QA环境全量配置,比如base.url=https://qa.your-domain.com/api,对应QA环境的鉴权密钥、测试账号等配置统一存在该文件
  • config-prod.properties:存储生产环境全量配置,比如base.url=https://www.your-domain.com/api,对应生产环境的测试账号、鉴权信息单独存储

注意:生产环境的敏感配置不要直接提交到公共代码仓库,建议配合本地环境变量或CI/CD平台的密钥注入能力读取,避免信息泄露。

步骤2:配置Maven profile实现环境选择

打开项目根目录的pom.xml,添加如下配置,支持构建时动态指定执行环境:

  1. 先在<project>节点下添加环境profile配置,默认激活QA环境:
<profiles>
    <profile>
        <id>qa</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <run.env>qa</run.env>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <run.env>prod</run.env>
        </properties>
    </profile>
</profiles>
  1. 在<build>节点下添加测试资源配置,让Maven可以根据选中的环境加载对应配置文件:
<build>
    <testResources>
        <testResource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
        </testResource>
    </testResources>
</build>

步骤3:调整原有配置读取逻辑

不需要推翻你已经写好的properties读取方法,只需要加个环境参数判断即可,参考实现:

public class ConfigLoader {
    private static final Properties PROPS = new Properties();
    static {
        // 优先读取启动传入的环境参数,未传默认加载QA环境配置
        String env = System.getProperty("run.env", "qa");
        String configFileName = String.format("config-%s.properties", env);
        try (InputStream inputStream = ConfigLoader.class.getClassLoader().getResourceAsStream(configFileName)) {
            if (inputStream == null) {
                throw new FileNotFoundException("未找到对应环境的配置文件:" + configFileName);
            }
            PROPS.load(inputStream);
        } catch (IOException e) {
            throw new RuntimeException("配置文件加载失败", e);
        }
    }

    public static String getBaseUrl() {
        return PROPS.getProperty("base.url");
    }

    // 其余原有配置读取方法保持不变即可
}

步骤4:测试执行方式

原有测试脚本里的Rest-Assured baseUri赋值逻辑不需要修改,还是通过ConfigLoader.getBaseUrl()获取地址即可,启动时通过参数切换环境:

  • 本地IDE执行:在运行配置的VM Options中添加参数,比如切生产环境就加-Drun.env=prod,不加参数默认跑QA环境
  • 命令行执行:
    • 执行QA环境测试:直接运行mvn test即可
    • 执行生产环境测试:运行mvn test -Pprod -Drun.env=prod

小技巧:如果对接CI/CD流水线,只需要在不同环境的流水线任务里加对应的-P参数,就能实现提交代码后自动在对应环境执行测试,不需要手动改配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:39:24