使用Claude和MCP增強Selenium

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 在數學建模中的基本使…