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

Selenium和Appium类应存放在src/main/java还是src/test/java

路径存放可行性与风险说明

Selenium代码存放在src/test/java的情况

  • 可行性:完全可行,不会出现功能性问题
  • 潜在风险:
    • 若你封装了Selenium公共工具类、通用页面对象需要被其他模块依赖,Maven/Gradle默认不会将src/test/java下的类打包发布,其他模块无法直接引用这些类
    • 若你的Selenium代码仅为当前项目的Web UI测试用例,无对外依赖需求,无任何风险

Appium代码存放在src/main/java的情况

  • 可行性:完全可行,不会出现功能性问题
  • 潜在风险:
    • 若你存放的是Appium测试用例逻辑,src/main/java下的代码默认会被打入主构件,会造成包体积冗余,若测试依赖(如TestNG、断言库)未配置test范围,还可能引发依赖冲突
    • 若你存放的是Appium通用封装能力,需要对外提供给其他项目引用,无任何风险
本场景下的最佳实践

你当前项目仅包含Selenium、Appium相关代码,无业务代码,可根据项目定位选择存放规则:

  • 若项目为纯测试执行项目,所有代码都是测试用例,无对外提供公共能力的需求:
    所有Selenium、Appium代码统一放在src/test/java下,通过包名区分两类能力即可,示例:
    • Selenium代码包路径:com.automation.web.selenium
    • Appium代码包路径:com.automation.mobile.appium
  • 若项目为公共测试工具包,封装的是通用自动化能力,需要给其他业务测试项目依赖:
    所有公共封装的工具类、基础模板放在src/main/java下,本项目验证工具正确性的自测用例放在src/test/java下,同样通过包名区分Selenium与Appium相关代码

核心判定逻辑非常简单:需要对外暴露被其他模块依赖的代码放src/main/java,仅当前项目内部执行的测试逻辑放src/test/java,和代码属于Selenium还是Appium技术栈无强制绑定关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:24:02