Token导航 LogoToken导航TokenDH.com
selenium e2e using MCP logo
开发工具未说明官方级别未说明来源级核验

selenium e2e using MCP

MCP Server

基于Java和Selenium的自动化测试框架,支持页面对象模型、并行执行、重试逻辑和丰富的报告功能,适用于Web应用测试。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
自动化测试Java浏览器自动化

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aks7777

提供方

aks7777

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Selenium POM 测试自动化框架

基于Java + Selenium 4 + TestNG的页面对象模型(Page Object Model)框架,集成了Extent报告、Log4j2日志记录、并行执行、重试逻辑、每项测试的JSON数据支持以及无头持续集成(CI)模式。

技术栈

  • Java 17
  • Selenium 4(WebDriver)
  • TestNG
  • WebDriverManager
  • ExtentReports
  • Log4j2
  • 杰克逊(JSON数据)
  • Apache POI(未来支持Excel的占位符)

关键特性

  • 干净的页面对象模型(意图揭示型方法)
  • 用于并行运行的线程安全WebDriver(ThreadLocal)
  • 环境 + 系统属性覆盖(-Dbrowser=firefox -Dheadless=true
  • 测试类JSON数据文件自动映射到测试方法
  • 针对不稳定测试的重试机制
  • 丰富的报告功能:HTML扩展性
  • 故障时的截图(文件附件)
  • 集中式配置与实用工具(等待、元素操作、截图、数据加载)
  • 无头模式支持CI流水线

项目结构(节选)

src
  main/java/com/example/framework
    base/        (BaseTest)
    factory/     (DriverFactory)
    pages/       (LoginPage, HomePage, MyInfoPage, ...)
    utils/       (ConfigManager, WaitUtils, ElementActions, TestDataLoader, ...)
    listeners/   (TestListener, RetryAnalyzer)
    annotations/ (TestDataFile)
  test/java/com/example/tests (LoginTest, MyInfoTest, ...)
  test/resources
    config/      (config.properties, env-specific *.properties)
    testdata/    (.json per test class)

配置

主文件: src/test/resources/config/config.properties 密钥: baseUrlbrowsertimeoutheadless。 通过系统属性覆盖: mvn test -Dbrowser=edge -Dheadless=true。 个人资料(例如。 -Pqa可以提供环境特定的属性。

测试数据策略

每个测试类都有一个名为(特定名称的)JSON文件 .json 下面;在……之下 testdata/. 顶级键 = 测试方法名。值 = 单个对象 或 对象数组。 示例:

{
  "testValidLogin": [ {"username":"Admin","password":"admin123"} ],
  "testInvalidLogin": [ {"username":"Admin","password":"admin","expectedError":"Invalid credentials"} ]
}

在DataProvider中的使用:

@DataProvider(name="loginData")
public Object[][] loginData(){
  return TestDataLoader.asDataProvider(this.getClass(), "testValidLogin");
}

每个数据集都作为 JsonNode 传递给测试方法。

运行测试

基础版:

mvn clean test

选择浏览器/无头模式:

mvn test -Dbrowser=firefox -Dheadless=true

指定TestNG套件:

mvn test -DsuiteXmlFile=testng.xml

单一测试(Surefire 包含):

mvn -Dtest=LoginTest#testValidLogin test

并行执行

通过……进行配置 testng.xml 以及Surefire插件。使用ThreadLocal进行隔离的驱动程序 DriverFactory

重试逻辑

RetryAnalyzer 附着于使用(某种方法/工具)进行的间歇性测试 @Test(retryAnalyzer = RetryAnalyzer.class)

报告

HTML 范围:在……下生成 reports/每次运行生成一个文件(带时间戳)。

屏幕截图

在失败时:已保存至 reports/screenshots/ 并附加到“范围”上。

记录日志

Log4j2 配置: src/test/resources/log4j2.xml。 写入日志至 logs/framework.log + 控制台。 在类中使用框架实用程序/日志记录器private static final Logger log = LogManager.getLogger(ClassName.class);)。

添加新测试

  1. 在(某个地方/某个项目中)创建测试类 com.example.tests 延长;扩展 BaseTest
  2. 创造 .json 匹配方法名。
  3. (可选)使用 @TestDataFile 如果偏离了命名规范。
  4. 如果每个方法有多个数据集,请添加数据提供者。
  5. 编写/扩展具有清晰操作的页面对象(页面对象中不包含断言)。
  6. 使用ElementActions/WaitUtils以提高稳定性。

无头持续集成(Headless CI)

启用: -Dheadless=true确保将所有仅基于视觉的等待替换为显式等待。

清除伪影(或:清除残留物)

bash clean_artifacts.sh -y

删除:reports/、logs/、target/。

有用的 Maven 命令

  • 全面清理并运行: mvn clean test
  • 带重试并使用特定套件运行: mvn clean test -DsuiteXmlFile=testng.xml
  • 跳过测试(仅构建): mvn -DskipTests clean install

可扩展性路线图

  • Excel/CSV 数据导入(扩展 TestDataLoader)
  • API辅助工具,用于加快数据设置
  • 基于标签的选择性运行(TestNG分组)

故障排除

  • 驱动问题:确保使用最新浏览器/运行 mvn -U clean test (WebDriverManager 管理二进制文件)。
  • 并行扁平化:确认线程安全(POs或utils中不包含静态可变状态)。

做出贡献

遵循现有的编码规范。在框架模块的公共API中添加JavaDoc注释。当架构发生变化时,更新此README文件和指南。

许可证

内部/个人项目(如需分发,请添加许可证文件)。

______________________________________________________________________

使用Selenium MCP和Copilot编写新测试用例的步骤:

  1. 确保在IntelliJ IDE中已设置好所需的MCP(主控制器程序)和副驾驶(或辅助角色)。
  2. 准备好你的测试用例。
  3. 提示:

“使用Selenium MCP和Copilot实现测试用例。测试用例应遵循现有的框架结构和约定。应包含必要的导入、注解,并使用页面对象模型进行交互。确保按照框架标准添加日志记录和报告。使用测试数据运行测试用例: 步骤:

  1. \<>
  2. \<>

请务必遵循 copilot-instructions.md 中的指南来创建新的测试。"

  1. 在Copilot中以代理模式执行提示。
  2. 经过仔细审查后,全部接受。
  3. 再次审查是否使用了正确的细节,如属性(pom)、定位器、测试数据等。
  4. 使用 mvn 命令手动执行并验证结果。

______________________________________________________________________

目录标签

目录标签

自动化测试Java浏览器自动化本地部署Web测试页面对象模型并行执行测试报告

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP