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

MCP Selenium Automation

MCP Server

MCP Selenium自动化测试框架是一个基于Page Object Model、Cucumber BDD和TestNG的综合性Web应用测试解决方案,支持跨浏览器测试和并行执行。

工具数

0

提示词数

0

GitHub Stars

0

资源数

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

安装说明

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

作者 / 组织

Vladimir-Topozly

提供方

Vladimir-Topozly

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

MCP硒自动化框架

一个用于web应用程序测试的全面的Selenium测试自动化框架,使用页面对象模型、Cucumber BDD、TestNG和Google Guice进行依赖注入。

目录

项目结构

mcp-selenium-automation/
├── pom.xml
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── mcp/
│   │   │           ├── config/
│   │   │           │   ├── ConfigurationManager.java
│   │   │           │   ├── DriverManager.java
│   │   │           │   └── GuiceModule.java
│   │   │           ├── constants/
│   │   │           │   ├── BrowserType.java
│   │   │           │   └── TimeoutConstants.java
│   │   │           ├── pages/
│   │   │           │   ├── BasePage.java
│   │   │           │   ├── GoogleHomePage.java
│   │   │           │   ├── GoogleSearchResultsPage.java
│   │   │           │   └── SearchResultPage.java
│   │   │           └── utils/
│   │   │               ├── PropertyReader.java
│   │   │               └── WaitUtils.java
│   │   └── resources/
│   │       ├── config.properties
│   │       └── log4j2.xml
│   └── test/
│       ├── java/
│       │   └── com/
│       │       └── mcp/
│       │           ├── hooks/
│       │           │   └── TestHooks.java
│       │           ├── runner/
│       │           │   └── TestRunner.java
│       │           └── steps/
│       │               ├── SearchResultsSteps.java
│       │               ├── GoogleHomePageSteps.java
│       │               └── GoogleSearchResultsSteps.java
│       └── resources/
│           ├── features/
│           │   └── googel_search.feature
│           └── testng.xml

详细结构说明

根系结构

  • mcp硒自动化/:项目的根目录。
  • pom.xml文件:定义项目依赖关系、构建配置和插件的Maven项目对象模型文件。这对于管理项目的库和构建生命周期至关重要。

源代码结构

该项目遵循Maven的标准目录布局,分为 main (应用程序代码)和 test (测试代码)。

主要源代码

src/main/java/com/mcp/automation/config/

此包包含与配置相关的类:

  • 配置管理器.java:

- 实现Singleton模式以确保单个配置实例 - 从加载属性 config.properties 文件 - 为所有配置值提供getter - 存储浏览器设置、URL、搜索词和超时值

  • 驱动程序管理器.java:

- 管理WebDriver实例(ChromeDriver、FirefoxDriver、EdgeDriver) - 配置浏览器选项(无头模式,最大化窗口) - 设置超时配置 - 提供获取和退出WebDriver的方法

  • GuiceModule.java:

- 用于依赖注入的Google Guice配置 - 将接口绑定到实现 - 为重要类设置单例作用域 - 为需要的组件提供WebDriver实例

src/main/java/com/mcp/automation/constants/

包含常数值和枚举:

  • 基于浏览器。:

- 支持的浏览器(CHROME、FIREFOX、EDGE)的枚举 - 提供将字符串浏览器名称转换为枚举的实用方法

  • 超时Constants.java:

- 定义各种操作的默认超时值 - 提供将秒转换为Duration对象的方法 - 包含用于短、中、长等待的常量

src/main/java/com/mcp/automation/pages/

实现页面对象模型模式:

  • BasePage.java:

- 所有页面对象扩展的抽象类 - 初始化WebElement注释的页面工厂 - 提供常用方法,如click、sendKeys、isElementDisplayed - 处理JavaScript执行和导航

  • 谷歌主页.java:

- 代表谷歌的主页 - 包含搜索输入和搜索按钮等元素 - 提供导航到谷歌和执行搜索的方法

  • 谷歌搜索结果Page.java:

- 代表谷歌的搜索结果页面 - 查找搜索结果链接并与之交互 - 提供点击搜索结果的方法

  • 搜索结果:

- 代表法拉利SF90官方页面 - 包含URL和页面内容的验证方法 - 提供对法拉利特定页面元素的访问

src/main/java/com/mcp/automation/utils/

常见操作的实用程序类别:

  • PropertyReader.java:

- 从配置文件加载和读取属性 - 提供类型安全的方法来获取字符串、整数和布尔属性 - 处理默认值和错误情况

  • WaitUtils.java:

- 为各种情况提供显式等待实用程序 - 包括等待元素、页面加载和URL更改的方法 - 实施Selenium等待的最佳实践

src/main/resources/

配置文件:

  • config.properties:

- 包含可配置选项的键值对 - 包括浏览器设置、URL、搜索词和超时 - 无需更改代码即可轻松修改

  • log4j2.xml:

- 用于日志记录的Log4j2配置 - 定义控制台和文件附加器 - 设置日志记录级别和模式

测试源代码

src/test/java/com/mcp/automation/hooks/

黄瓜挂钩用于安装和拆卸:

  • TestHooks.java:

- 包含 @Before@After 围绕场景执行的方法 - 处理WebDriver设置和清理 - 对测试失败进行截图

src/test/java/com/mcp/automation/runner/

测试执行配置:

  • TestRunner.java:

- TestNG和Cucumber集成 - 定义功能文件位置、粘合代码和插件 - 配置报告生成和并行执行选项

src/test/java/com/mcp/automation/steps/

黄瓜步骤定义类:

  • 搜索结果Steps.java:

- 实施与Ferrari SF90页面验证相关的步骤 - 验证URL和页面内容 - 使用AssertJ进行流畅的断言

  • 谷歌主页Steps.java:

- 实施Google主页交互的步骤 - 处理谷歌导航 - 执行搜索操作

  • GoogleSearchResults Steps.java:

- 实施搜索结果交互的步骤 - 搜索结果点击次数 - 验证搜索结果是否存在

src/test/resources/features/

黄瓜特征文件:

  • ferrari_sf90_search.feature:

- 用Gherkin语法定义测试场景 - 包含端到端测试的Given When Then步骤 - 用商业可读语言编写

src/test/resources/

测试配置:

  • testng.xml:

- TestNG配置文件 - 定义要执行的测试套件和类 - 配置侦听器和执行选项

框架架构

该框架基于以下架构原则构建:

  1. 关注点分离:

- 页面处理UI交互 - 步骤定义将Gherkin与代码连接起来 - 配置管理环境设置 - 实用程序提供可重用的辅助方法

  1. Guice的依赖注入:

- 减少组件之间的紧密耦合 - 通过模拟注入使测试更容易 - 集中对象创建和生命周期管理

  1. 页面对象模型:

- 每个网页都有一个相应的类 - 封装页面结构和行为 - 使测试在UI更改时更易于维护

  1. Cucumber的行为驱动开发:

- 用通俗易懂的语言编写的场景 - 通过注释映射到代码的步骤 - 促进技术和非技术利益相关者之间的合作

  1. 使用TestNG执行测试:

- 强大的测试运行器,支持并行执行 - 测试配置注释 - 与Cucumber集成用于BDD

安装说明

先决条件

  • Java JDK 11或更高版本
  • Maven 3.6.3或更高版本
  • IntelliJ IDEA(推荐)
  • 网络浏览器:Chrome、Firefox和/或Edge

安装

  1. 使用提供的脚本克隆存储库或生成项目:

对于Linux/macOS:

   ./generate-project.sh

对于Windows:

   generate-project.bat
  1. 将项目导入IntelliJ IDEA:

- 打开IntelliJ IDEA - 选择“导入项目”或“打开” - 导航至 mcp-selenium-automation 目录 - 选择 pom.xml 文件 - 勾选“自动导入Maven项目” - 按照提示完成导入

  1. 安装浏览器驱动程序:

- 该框架配置为使用WebDriver Manager,它将自动下载正确的驱动程序

运行测试

使用Maven

使用Maven运行所有测试:

mvn clean test

使用特定浏览器运行:

mvn clean test -Dbrowser=chrome

使用IntelliJ IDEA

  1. 导航至 src/test/java/com/mcp/automation/runner/TestRunner.java
  2. 右键单击并选择“运行TestRunner”

使用标签

要运行带有标签的特定测试,请执行以下操作:

mvn clean test -Dcucumber.filter.tags="@search"

特性

  • 跨浏览器测试:支持Chrome、Firefox和Edge浏览器
  • 可配置执行:易于通过属性文件更改设置
  • 详细日志记录:使用Log4j2进行全面日志记录
  • 故障截图:自动捕获失败测试的屏幕截图
  • HTML报告:Cucumber HTML报告,用于更好的测试分析
  • 并行执行:支持并行运行测试(可以在TestNG中启用)
  • 清晰的关注点分离:遵循测试架构的最佳实践

示例场景

功能:谷歌搜索验证

@搜索@烟雾 场景概述:搜索并验证第一个结果 鉴于我在谷歌主页上 当我搜索““在谷歌上 然后我点击了第一个搜索结果 然后,我应该被重定向到预期结果页面

Examples:
  | query                      |
  | test automation framework |
  | selenium webdriver        |
  | Ferrari SF90              |

技术

  • Selenium WebDriver 4.x
  • 黄瓜7.x
  • TestNG 7.x
  • 谷歌Guice 7.x
  • 断言J 3.x
  • 龙目
  • Log4j2
  • 梅文

目录标签

目录标签

浏览器自动化Shell自动化测试本地部署Web测试BDD框架Selenium跨浏览器测试

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP