1.配置MCP服务器

打开Claude Desktop—>Settings—>Developer—>Edit Config

{"mcpServers": {"selenium": {"command": "npx","args": ["-y", "@angiejones/mcp-selenium"]}}
}

配置完成后重启Claude Desktop

2.验证安装

3.测试交互

4.生成Selenium脚本

package com.saucedemo.tests;import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.time.Duration;public class SauceDemoLoginTest {private WebDriver driver;private WebDriverWait wait;// Test dataprivate static final String BASE_URL = "https://www.saucedemo.com";private static final String USERNAME = "standard_user";private static final String PASSWORD = "secret_sauce";@BeforeMethodpublic void setUp() {// Initialize ChromeDriverdriver = new ChromeDriver();// Initialize WebDriverWait with 10 seconds timeoutwait = new WebDriverWait(driver, Duration.ofSeconds(10));// Maximize browser windowdriver.manage().window().maximize();// Navigate to SauceDemo websitedriver.get(BASE_URL);}@Testpublic void testLoginWithValidCredentials() {// Find username field and enter usernameWebElement usernameField = wait.until(ExpectedConditions.presenceOfElementLocated(By.id("user-name")));usernameField.sendKeys(USERNAME);// Find password field and enter passwordWebElement passwordField = driver.findElement(By.id("password"));passwordField.sendKeys(PASSWORD);// Find login button and click itWebElement loginButton = driver.findElement(By.id("login-button"));loginButton.click();// Verify successful login by checking if we're on the products pageWebElement productsTitle = wait.until(ExpectedConditions.presenceOfElementLocated(By.className("title")));// Assert that we successfully logged inAssert.assertEquals(productsTitle.getText(), "Products", "Login failed - Products page not displayed");// Additional verification - check URL contains "inventory"Assert.assertTrue(driver.getCurrentUrl().contains("inventory"), "Login failed - URL doesn't contain inventory");System.out.println("Login test passed successfully!");}@AfterMethodpublic void tearDown() {// Close the browserif (driver != null) {driver.quit();}}
}

5.在IDE里面运行

打开Aqua新建Selenium项目

新建SauceDemoLoginTest类

粘贴生成的代码,然后运行

错误原因:TestNG版本和Java 8不兼容

解决方法:打开File—>Project Structure—>Project修改SDK版本

运行测试

可以看到Claude生成的代码1次就测试通过了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/913207.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/913207.shtml
英文地址,请注明出处:http://en.pswp.cn/news/913207.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据仓库锚点建模方法的前世今生

数据仓库锚点建模方法(Anchor Modeling)作为一种面向复杂数据环境的创新方法论,其发展历程与技术演进深刻反映了数据管理从结构化到动态化的转型需求。以下从起源、发展、核心思想、技术演进及未来趋势五个维度,系统梳理锚点建模的…

<三>Sping-AI alibaba 文生图

环境和配置请看<二>Sping-AI alibaba 入门-记忆聊天及持久化 源代码:https://github.com/springaialibaba/spring-ai-alibaba-examples/blob/main/spring-ai-alibaba-image-example/dashscope-image/src/main/java/com/alibaba/cloud/ai/exam…

vue组件和模板

好的,我们来详细解释一下在 Vue(以及现代前端开发)中两个最核心的概念:组件 (Component) 和 模板 (Template)。 理解了它们,就等于掌握了现代 Web 应用开发的基石。 一个核心比喻:乐高积木 在开始前&…

python学习打卡:DAY 18 推断聚类后簇的类型

浙大疏锦行 聚类后的分析:推断簇的类型 知识点回顾: 推断簇含义的2个思路:先选特征和后选特征通过可视化图形借助ai定义簇的含义科研逻辑闭环:通过精度判断特征工程价值 作业:参考示例代码对心脏病数据集采取类似操作,…

Ubuntu for ARM 更换为阿里云镜像源

1. 简介 该镜像适用于配置 ARM, PowerPC 等其他架构的 ubuntu系统,不适用 x86 !!! 各种版本的Ubuntu for ARM下载地址:https://cdimage.ubuntu.com/releases 2. 配置方法 打开 sources.list 文件。 vim /etc/apt/s…

HTML与JavaScript:构建动态交互式Web页面的基石

HTML与JavaScript:构建动态交互式Web页面的基石 在现代Web开发中,HTML和JavaScript是不可或缺的两位主角。HTML负责页面的结构和内容,而JavaScript则赋予页面生命,使其能够响应用户交互、动态更新内容,并与后端服务进…

Python数据分析基础03:探索性数据分析

相关文章: 《python数据分析基础02:数据可视化分析》 《Python数据分析基础01:描述性统计分析》 探索性数据分析(Exploratory Data Analysis, EDA) 的深度解析,涵盖核心目标、方法论框架、关键技术及可视…

D3 面试题100道之(41-60)

这里是D3的面试题,我们从第 41~60题 开始逐条解答。一共100道,陆续发布中。 🟩 面试题(第 41~60 题) 41. D3 中如何添加图例? 图例可以通过手动创建 SVG 元素或使用 D3 的辅助函数来实现。常见做法是结合 d3.scaleOrdinal() 和 .range() 创建颜色映射图例。 示例: c…

Spring Boot事件驱动模型深度解析

目录 一、什么是Spring事件机制? 与传统方法调用的对比: 二、四大核心组件解析 1. ApplicationEvent:事件对象 2. ApplicationEventPublisher:事件发布器 3. ApplicationListener:事件监听接口 4. EventListener…

Python gmssl.SM4使用案例

Python gmssl.SM4使用案例 摘要:在异构计算系统验证中,通常会有数据加解密的要求,例如用户数据、权重参数等,本文将详细介绍在UVM验证环境中,调用Python的gmssl库,用SM4实现加解密的验证方案。 一、Python gmssl 库介绍 gmssl 是一个开源的、纯Python实现的国密算…

迅为高情性6TOPS算力的RK3576开发板NPU rknn-model-zoo例程演示

迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。支持INT4/INT8/INT16/FP16/BF16/TF32混合运算&am…

rsync 命令详解

目录 rsync 传输备份工作原理详解一、核心算法:差异传输二、传输流程三、关键技术四、与cp/scp复制的本质区别rsync的使用基本语法常用选项常用组合案例1. **本地目录同步**2. **远程同步(SSH协议)**3. **删除目标端多余文件**4. **排除特定文件**5. **限速传输(避免占用带…

【MySQL进阶】错误日志,二进制日志,mysql系统库

目录 一.错误日志 1.1 配置错误日志 1.1.1 Windows的默认错误日志路径 1.1.2 Unix和Linux系统的默认错误日志路径 1.2 错误日志中事件的字段 1.2.1 核心错误事件字段 1.2.2.MySQL 错误消息的两种不同输出渠道 1.2.3 可选错误事件字段 1.3. 刷新错误日志文件和重命名 二…

day45-nginx复杂跳转与https

1. ✅nginx复杂跳转 客户端ip不是内网(172.16/192.168)ip时,维护文件存在时,返回503或者错误页面 1.1. 📝修改配置文件 server {listen 80;server_name re.linux.cn; root /app/code/re/;set $flag 0;if ( $remote_addr !~* "^172…

基于pcl点云库实现激光雷达数据采集

基于pcl点云库实现倍加福R2000激光雷达数据采集 一、项目介绍二、开发详情三、显示效果展示四、说明 一、项目介绍 最近用pcl库实现了倍加福R2000激光雷达的数据采集,并实时在viewer上实时更新显示。软件的开发是基于vs2019qt插件pcl库实现,可以完成如下…

微信小程序61~70

1.组件wxml的slot-插槽 在使用基础组件时,可以在组件中间写子节点,从而将子节点内容展示到页面中,自定义组件也可以接收子节点但是要在组件模板中定义节点,承载组件中间的子节点需要使用多个插槽时,要在组件.js中声明…

03_性能优化:让软件呼吸更顺畅

引言 在用户对软件响应速度近乎苛刻的今天,性能已成为产品竞争力的核心指标。据Google研究,页面加载时间每增加1秒,转化率就会下降20%。本文将从前端、后端、移动端三个维度,揭示性能优化的核心策略与实战技巧,帮助你打…

LangChain4j 框架模仿豆包实现智能对话系统:架构与功能详解

系统整体架构设计基于 LangChain4j 框架构建的智能对话系统采用 "前后端分离 大模型中枢" 的三层架构设计,实现了与豆包类似的智能交互体验。系统架构图如下所示:┌────────────────────────────────────…

基于uni-app的书法学习管理小程序的设计与实现

一、设计的目的 书法是中华民族传统文化的瑰宝,更是人类文明的宝贵财富,具有深远的意义和实价值。在当今数字化时代,随着信息技术的飞速发展,传统书法学习模式面临着诸多挑战和需要解决的问题。为推动书法学习的现代化转型&#…

NumPy 函数库在数学建模中的基本使用方法

一、引言 在数学建模的世界里,我们常常需要处理大量的数据和进行复杂的数值计算。Python 中的 NumPy 库就像是一位得力的助手,它为我们提供了强大的多维数组对象和丰富的数学函数,让我们能够高效地完成各种数值计算任务。接下来,我们将深入探讨 NumPy 在数学建模中的基本使…