如何通过页面对象模型在多测试环境运行Selenium脚本
多环境配置加载解决方案
步骤1:创建环境对应配置文件
在项目根目录下为每个环境单独创建配置文件:
dev.properties:Dev环境配置uat.properties:UAT环境配置staging.properties:Staging环境配置
所有文件保留相同配置项(比如app.url),仅配置值对应各自环境的URL。
步骤2:指定运行环境
通过JVM参数或系统变量指定当前运行环境:
- IDE运行配置中添加JVM参数:
-Denv=dev - 命令行启动时添加:
java -Denv=uat -jar your-test.jar
步骤3:修改代码加载对应配置
优化原有代码,根据指定环境加载对应配置,同时简化跨平台路径处理:
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public Base_Pace() { try { prop = new Properties(); String projectRootPath = TC_TestUtil.getProjectDirectory(); // 获取环境变量,默认用dev作为兜底 String env = System.getProperty("env", "dev"); // 拼接配置文件名 String configFileName = env + ".properties"; // 用File.separator自动适配Windows/Linux路径分隔符 String configPath = projectRootPath + File.separator + configFileName; FileInputStream ip = new FileInputStream(configPath); prop.load(ip); } catch (FileNotFoundException e) { e.printStackTrace(); System.err.println("未找到环境配置文件:" + System.getProperty("env", "dev") + ".properties"); } catch (IOException e) { e.printStackTrace(); } }
额外优化建议
- 可新增
base.properties存放通用配置,加载环境配置时覆盖通用配置,减少重复代码 - 替换单纯的堆栈打印,添加日志记录或抛出自定义异常,提升问题定位效率
内容的提问来源于stack exchange,提问作者Praveen Tiwari
相关产品推荐
相关产品推荐

