从零搭建DevOps平台环境(五)-selenium

jenkins+kubernetes+git+dockerhub构建devops云平台 提高开发效率,及时跟进用户需求,缩短开发周期。敏捷开发包括编写代码和构建代码两个阶段,可以使用git或者svn来管理代码,用maven对代码进行构建。 阅读详情

文章目录

准备环境

安装docker

拉取镜像

docker pull selenium/hub
docker pull selenium/node-chrome

创建网络

docker network create --subnet=172.18.26.0/24 dockernet_br26

启动容器

docker run -d -p 4444:4444 --net dockernet_br26 --ip 172.18.26.2 --name selenium-hub selenium/hub
docker run -d --net dockernet_br26 --ip 172.18.26.3 -e HUB_HOST=selenium-hub -v /dev/shm:/dev/shm selenium/node-chrome

通过宿主机IP加上4444 端口进行访问
http://IP:4444/wb/hub
在这里插入图片描述或者访问 console http://ip:4444/wb/console
在这里插入图片描述
如此即为安装成功

编码

这里使用java进行编码测试

import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.Test;

import java.net.URL;
import java.time.Duration;

import static org.openqa.selenium.support.ui.ExpectedConditions.presenceOfElementLocated;

public class testRemote {

    @Test
    public void test1() {

        URL url = null;
        try {
            url = new URL("http://IP:4444/wd/hub/");
        } catch (Exception e) {
            System.out.println(e.getCause());
        }
        ChromeOptions chromeOptions = new ChromeOptions();
//        chromeOptions.setCapability("browserVersion", "81");
//        chromeOptions.setCapability("platformName", "linux");
        DesiredCapabilities DesiredCapabilities = new DesiredCapabilities("chrome", "83", Platform.LINUX);

        chromeOptions.addArguments("--headless");
//        chromeOptions.addArguments("--disable-extensions"); // disabling extensions
//        chromeOptions.addArguments("--disable-gpu"); // applicable to windows os only
//        chromeOptions.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
//        chromeOptions.addArguments("--no-sandbox");
        WebDriver driver = new RemoteWebDriver(url, chromeOptions);
        driver.get("http://www.baidu.com");
        System.out.println(driver.getTitle());
        driver.quit();
    }
}

控制台打印:
百度一下,你就知道 即代表测试通过
这时我们就可以通过 WebDriver WebElement 编写代码实现自动化测试。但这样有一点很不好的就是需要针对每一个功能去编写对应的测试代码。
编写Bean 类获取页面元素

同样我们也可以引入新的工具去实现自动录入脚本代码(badbody)。当然手写的更靠谱一些,且目前因为各大浏览器厂商的兼容性不同,不同的网站对于安全策略的使用方式不同的原因,自动录入也会有一些限制。

DevOps自动化运维:Selenium 测试 本文将以Buddy中的Selenium测试流水线示例,来看看自动化测试就是如此简单易用!Selenium是一套用于浏览器测试自动化的工具。使用Buddy专有服务,您可以直接在Buddy中运行Selenium测试。 阅读详情

相关推荐

从零搭建MeterSphere一站式测试平台:部署、核心功能与DevOps集成实战

在软件工程实践中,持续集成与自动化测试是保障软件质量、提升研发效能的关键环节。其核心原理在于通过自动化脚本和工具链,将测试活动嵌入开发流程,实现快速反馈。这一技术能显著降低回归测试成本,加速发布周期,并沉淀可复用的测试资产。典型的应用场景包括接口自动化回归、性能压测和UI自动化测试等。针对测试工具链分散、协作成本高的普遍痛点,开源的一站式测试平台应运而生。以 MeterSphere 为例,它通过平台化整合,将接口测试、性能测试等核心能力统一管理,有效解决了脚本管理混乱和报告汇总困难等问题。本文将以 Mete

weixin_34269583的博客 607

【DevOps系列】构建Devops系统

那就着手开始干吧。先介绍一下我们的工具链。主要工具:GitHub、Jenkins、Kubernetes、Ansible、Prometheus和JMeter。

u013379032的博客 3122

DevOps工具链 - 2021

DevOps 工具链 版本控制 IDE 任务管理 依赖管理 中央仓库 代码质量分析 持续集成与持续交付 持续部署 自动化测试 单元测试 服务测试 Web UI测试 压力测试 日志采集分析 应用监控 容器化 容器云(集群) DevOps dashboard DevOps 工具链 版本控制 IDE 任务管理 依赖管理 中央仓库 代码质量分析 持续集成与持...

锐意工作室 6142

搭建DevOps平台

K8S服务发展之间,其成熟的自动化部署服务也是多种多样,例如(原生的kubeadmin部署、rke、rke2、minikube、kind以及ansible等等一系列部署)。此步骤不需要每台机器都安装,只需要在部署机器上下载即可(master服务器部署)本文采用RKE的形式部署。

demonlg0112的博客 1121

软件工程:Selenium 与 DevOps 流程的集成

在软件工程里,我们的目的是通过将 Selenium 与 DevOps 流程集成,实现更高效、更可靠的软件开发和测试。范围涵盖了从软件开发的编码阶段到部署上线的整个生命周期,重点在于如何让 Selenium 的自动化测试能力与 DevOps 的持续集成、持续部署等理念完美结合,提高软件的质量和开发效率。本文首先会介绍 Selenium 和 DevOps 流程的核心概念,然后说明它们之间的关系。接着会讲解集成的算法原理、操作步骤以及相关的数学模型。通过一个实际的项目案例,详细展示代码的实现和解读。

项目管理的博客 983

安装破解IAR EWARM 8.2,提供注册机

IAR Embedded Workbench for ARM(IAR for ARM)是一款微处理器的集成开发环境软件,该集成开发环境中包含了IAR的C/C++编译器、 汇编工具、链接器、库管理器、文本编辑器、工程管理器和C-SPY调试器,支持ARM,AVR,MSP430等芯片。   一、安装 双击运行安装程序,点击Install IAR Embedded Workbench for ARM...

睿思派克 4万+

DevOps平台搭建过程详解--Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台

CI即为持续集成(Continue Integration,简称CI),用通俗的话讲,就是持续的整合版本库代码编译后制作应用镜像。建立有效的持续集成环境可以减少开发过程中一些不必要的问题、提高代码质量、快速迭代等;(Jenkins)CD即持续交付Continuous Delivery和持续部署Continuous Deployment,用通俗的话说,即可以持续的部署到生产环境给客户使用,这里分为两个阶段,持续交付我理解为满足上线条件的过程,但是没有上线,持续部署,即为上线应用的过程;(k8s)

码界云仓 4559

本地部署gradle

在部署CAS构建执行包时,如果按照CAS的官方命令gradlew clean build,如果系统没安装过gradle,这个步骤将会从网上下载gradle,但是进度非常慢,耗时很长。为了更快地完成项目构建,我们可以直接在本地部署好gradle,节省一点时间。

益添的博客 779

【云原生-DevOps】企业级DevOps平台搭建及技术选型-项目管理篇

在项目管理篇中,主要介绍了DevOps前半部的的功能实现,常用到的软件分别有:GitLab/Gogs、Confluence、Jira、禅道、私服等。在企业级的公司中,肯定会有一个系统叫用户中心,整个公司入职离职的人员都应该在这个系统中,所以DevOps做为子系统,用户数据都应该从用户中心去进行同步,实现单点登录的功能。

起而行动,方能平定心中的惶恐 4万+

Python 爬虫实战:爬虫与 ECharts 结合 —— 前端可视化展示

本文介绍了爬虫技术与ECharts可视化结合的完整实现流程。首先使用Python爬取京东商品数据(价格、评价数等),通过BeautifulSoup解析和pandas处理转换为JSON格式。然后构建前端页面,利用ECharts实现价格分布柱状图、价格-评价数散点图和店铺占比饼图三种可视化效果。文章详细解析了爬虫数据提取、格式转换和前端图表配置等关键技术点,并提供了完整的代码示例。最后提出了基于API接口、数据库存储等扩展方向,为数据采集到可视化展示提供了完整的解决方案。

2503_91057718的博客 631

WordPress插件depicter存在SQL注入漏洞(CVE-2025-2011)

Depicter 是一款功能强大的 WordPress 幻灯片插件,允许用户通过直观的拖放编辑器轻松创建响应式滑块、轮播和动态内容展示。该插件提供丰富的模板库、动画效果和图层控制,支持多媒体内容嵌入(如图片、视频、HTML),并优化了移动端显示和SEO性能。其无代码操作界面适合非技术用户,同时提供高级自定义选项,适用于产品展示、营销推广和视觉叙事等多种场景,是提升网站视觉吸引力的高效工具。

m0_50125527的博客 550

CPython 标准库 “Superseded modules“ 全解读:getopt 与 profile 的现状、定位与迁移指南

本指南以 CPython 文档体系中的 [Superseded modules 章节](https://link.gitcode.com/i/78b097deccf66bc091577ef7124fa273) 为主线,系统讲解"已被更优方案取代但仍为向后兼容保留"的标准库模块的分级与判定标准,并完整展开该章节当前收录的两个成员——命令行解析模块 [getopt](https://link.gitc

gitblog_00179的博客 814

【芯片设计- RTL 数字逻辑设计入门 番外篇6 -- 术语 Tile 介绍】

在系统级芯片(System on Chip, SoC)设计中,“tile” 是一个可以指代不同概念的术语,但通常它指的是芯片上的一个独立的功能单元或核心。一个 tile 可以包含一个或多个处理器核心、缓存、内存控制器、输入输出设备、外设接口或其他功能模块。在 SoC 上,多个 tile 可以被组合和连接起来,以形成一个完整的系统。

CodingCos的博客 3065

2025 年最值得尝试的几款 DevOps 平台工具推荐

本文聚焦2025年DevOps工具生态,针对技术迭代加速、多云协同及安全合规强化的趋势,推荐多款适配企业高效研发与智能运维的核心工具。

2501_91173457的博客 2146

分布式计算Ray框架:从入门到精通完全教程

想象一下,你有一个机器学习模型要训练,数据集大到让你的笔记本电脑直冒烟;或者你需要并行跑几百个爬虫任务,但线程池和多进程搞得你头晕眼花。传统的单机计算已经hold不住这些场景,分布式计算应运而生。然而,传统的分布式框架(如Hadoop、Spark)要么配置复杂,要么对动态任务支持不佳。这时候,Ray闪亮登场!Ray是一个开源的分布式计算框架,专为高性能、灵活性和易用性而生。它最初由UC Berkeley的RISELab团队开发,目标是让开发者用最少的代码实现分布式任务。无论是数据处理、机器学习,还是仿真任务

大模型大数据攻城狮的专栏 1318

MySQL——cost成本计算之MySQL如何选择使用索引(trace)

文章目录前言trace工具分析执行计划 前言 在之前博客中,根据测试案例,发现同样的sql语句,因为传入的条件值的不同,导致MySQL有时候选择使用索引,有时候又不适用索引。 如下所示sql的执行计划: EXPLAIN SELECT * FROM employees WHERE name > 'aaa'; EXPLAIN SELECT * FROM employees WHERE name > 'zzzz'; 在MySQL中,为什么会出现上述这种玄乎的现象呢? 本篇博客重点说明原因。 在说

专注写bug 679

Selenium环境配置全攻略:从零搭建自动化测试基础环境

Web自动化测试是软件质量保障的关键技术,其核心原理是通过程序模拟用户操作浏览器,实现测试用例的自动执行。Selenium作为该领域的标准工具,其价值在于提供了跨浏览器、跨平台的统一API,极大提升了测试效率和可重复性。在实际应用中,环境配置是自动化测试的“第一公里”,直接关系到后续脚本的稳定运行。本文聚焦于Selenium环境配置的完整流程,深入解析了浏览器驱动版本匹配、环境变量配置等核心难点,并提供了Python与Java两种主流技术栈的详细实操方案。通过理解Selenium Client、WebDri

weixin_30851867的博客 401

YOLOV5 自动刷图脚本实战(十五)之如何找到正确的门

DXF是一个2D游戏,我们所看到的人物移动,其实是后面的背景在移动,我们所看到的画面,不过是一个完整背景中的一个镜头视角而已想要正确找到门的坐标,我们需要对不同的地图中的每个房间做一些配置信息。

qq_38892949的博客 2806

FastAPI 使用 app.frontend() 托管前端静态构建产物:SPA 路由回退、404 页与部署实践

前端工程化工具(React with Vite、Vue、Svelte、Angular、Astro、Solid、TanStack Router 等)通常会把源码构建为纯静态文件(如 `./dist/`),而 FastAPI 原生提供的 `app.frontend()` / `router.frontend()` 方法可以按这些前端框架约定好的方式直接托管该目录,与既有 API 路径天然共存。读完本文

gitblog_00526的博客 353

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

从零搭建稳定Selenium自动化测试环境:Python+pytest+webdriver-manager实战指南

自动化测试是现代软件工程中保障质量的关键环节,其核心原理是通过脚本模拟用户操作,对软件功能进行验证。在UI自动化测试领域,Selenium作为行业标准工具,能够驱动浏览器执行测试用例,其技术价值在于提升测试效率、确保回归测试覆盖率并支持持续集成。然而,测试环境的稳定性直接影响自动化脚本的可靠性和可维护性,常见痛点包括浏览器与驱动版本不匹配、依赖冲突等。通过使用Python虚拟环境隔离依赖、结合pytest测试框架组织用例,并借助webdriver-manager库自动管理浏览器驱动版本,可以构建一套健壮的测

weixin_32187037的博客 236

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

搭建devops的开源软件方案

使用开源解决方案实现 DevOps 流程是一种成本效益高且灵活的方式,可以促进团队协作、自动化流程和提高生产效率。

keyboard专栏 1745

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

devops软件测试面试题

使用容器平台,选择一种流行的CI框架(例如Jenkins , Travis CI , TeamCity , CircleCI或Bamboo) ,然后使用OpenShift Template , Operator或Helm Charts进行部署。使用基于Kubernetes项目的企业平台即服务 (PaaS)解决方案是通过构建源代码,打包容器映像以及在企业生产环境中运行容器来构建DevOps平台的最强大,最合适,最有效的方法。以前,您必须为每个项目重复安装,配置和管理这些环境,这是无聊但必不可少的任务。

OKCRoss的博客 840

devops测试_使用DevOps管道自动执行用户验收测试

devops测试 验收测试 (也称为用户验收测试(UAT))确定系统是否满足用户需求,业务要求和授权实体标准。 通过软件开发生命周期(SDLC)开发应用程序时,每当有新设计时,都会重复测试。 在许多公司中, 站点可靠性工程师 (SRE)通过在DevOps计划中构建持续集成/持续开发( CI / CD)管道来自动化验收测试。 需要大量开源工具来为云和本地基础架构创建CI / CD管道,因此您需...

cuml0912的博客 531

DevOps(十三)Jenkins之Selenium插件配置

Selenium Grid 是 Selenium 测试套件的一部分,主要用于通过并行执行测试来提高测试执行的速度和效率。它允许您在多个环境(不同的浏览器和操作系统)上同时运行测试,从而帮助在开发过程中快速发现跨浏览器的兼容性问题。

TradingAgents-CN专栏 1808

selenium 实现循环点击_DevOps采用Selenium自动化测试,实现敏捷交付

产品的开发到发布的周期长短决定着企业的生产力高低。在微服务架构的背景下,越来越多的微服务应用被部署到服务器或虚拟机中。如何发布大量的微服务应用,对存量的web前端进行完整并快速地测试,成为运维测试人员头疼的事情。而我们的综合代维团队,率先将DevOps与自动化测试结合在了一起,实现了敏捷交付,让我们一起来了解一下他们是如何实现的吧~文 | 综合代维支撑团队综合代维系统在DevOps的流水...

weixin_35135480的博客 509

.NET平台Selenium 2.0自动化测试实战:从环境搭建到CI/CD集成

Web自动化测试是现代软件开发中保障质量、提升效率的关键环节,其核心原理是通过程序模拟真实用户操作浏览器,自动执行测试用例。这项技术对于实现持续集成与持续交付(CI/CD)至关重要,能够显著减少重复劳动并快速发现回归缺陷。在众多自动化测试工具中,Selenium WebDriver因其跨浏览器、支持多语言的特性成为行业标准。本文聚焦于.NET技术栈,深入探讨如何利用Selenium 2.0构建稳定、可维护的自动化测试体系。内容涵盖环境搭建、核心的页面对象模型(POM)设计模式、处理复杂交互场景(如ifram

weixin_33806914的博客 336
上一篇: devops的一次记录
下一篇: Linux大内存页Oracle数据库优化
JFS_1024
博客等级 码龄10年 22粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值