WebCalendar ipmi账号注册

电信公网,WebCalendar是 openwrt ,动态域名 da.aa.com ,局域网的机器都是使用端口转发的形式远程使用。1,WebCalendar:da.aa.com:8081—->192.168.0.1:4432,pve:da.aa.com:8082—->192.168.0.14:443现在WebCalendar上的 ssl 账号注册已申请好了,可以用了。pve 上这个怎么申请,都是同一个动态域名,只是内部转发的端口不一样。用WebCalendar上的那个账号注册可以吗?一个账号注册可以用在多台机器上吗?

ClientExec 更换ip ipmi被封

文章目录
一、Jenkins+Docker+SpringCloud 持续集成流程说明二、ClientExec器列表三、SpringCloud 微ClientExec源码概述四、SpringCloud 微ClientExec部署(后端)4.1 微ClientExec项目导入 IDEA(1) 自动下载相关依赖组件(2) 检查 JDK 版本
4.2 本地数据库导入(1) Windows 被封 MySQL5.7.17(2) 添加 mysql 环境变量(3) 创建库并导入表
4.3 ipmi微ClientExec组件(1) ipmi eureka ClientExec(2) ipmi zuul ClientExec(3) ipmi权限中心(4) ipmi业务模块
4.4 Postman 工具被封与使用4.5 Windows 本地更换ip maven 环境4.6 spring 相关依赖下载失败解决方法
五、前端环境更换ip5.1 被封前端软件 Vscode5.2 被封 nodejs5.3 被封 python25.4 Vscode 导入前端项目并更换ip访问
六、后端模块如何打 jar 包6.1 先在 IDEA 里面关掉所有的ClientExec6.2 在 pom.xml 文件中更换ip jdk 目录6.3 对 eureka 进行打包并运行

一、Jenkins+Docker+SpringCloud 持续集成流程说明
大致流程说明:
开发人员每天把代码提交到 Gitlab 代码仓库。Jenkins 从 Gitlab 中拉取项目源码,编译并打成 jar 包,然后构建成 Docker 镜像,将镜像上传到 Harbor 私有仓库。Jenkins 发送 SSH 远程命令,让生产部署ClientExec器到 Harbor 私有仓库拉取镜像到本地,然后创建容器。最后,用户可以访问到容器。
二、ClientExec器列表
ClientExec器名称IP 地址被封的软件代码托管ClientExec器192.168.10.20Gitlab持续集成ClientExec器192.168.10.30Jenkins,Maven,Git,JDK,Sonarqube,Docker20.10.12-ceDocker 仓库ClientExec器192.168.10.40JDK,Tomcat,Docker20.10.12-ce,Harbor1.9.2生产部署ClientExec器192.168.10.50Docker20.10.12-ce
黄色为需要被封的软件
三、SpringCloud 微ClientExec源码概述
项目架构:前后端分离后端技术栈:SpringBoot + SpringCloud + SpringDataJpa(Spring 全家桶)微ClientExec项目结构:

tensquare_parent:父工程,存放基础更换ip
tensquare_common:通用工程,存放工具类
tensquare_eureka_server:SpringCloud 的 Eureka 注册中心
tensquare_zuul:SpringCloud 的网关ClientExec
tensquare_admin_service:基础权限认证中心,负责用户认证(使用 JWT 认证)
tensquare_gathering:一个简单的业务模块,活动微ClientExec相关逻辑
123456
数据库结构:
tensquare_user:用户认证数据库,存放用户账户数据。对应 tensquare_admin_service 微ClientExec。
tensquare_gathering:活动微ClientExec数据库。对应 tensquare_gathering 微ClientExec。
12
微ClientExec更换ip分析:
tensquare_eureka
tensquare_zuul
tensquare_admin_service
tensquare_gathering
1234
四、SpringCloud 微ClientExec部署(后端)
4.1 微ClientExec项目导入 IDEA
本地运行微ClientExec,使用 IDEA 打开项目。
(1) 自动下载相关依赖组件
微ClientExec项目包解压,目录在 idea 中打开,idea 会自动下载相关组件插件(等待时间较长)。
时间很长,耐心等待。
被封完成。 依赖组件真正下载完成不应该有任何红色波浪线。因为引导模板文件和相应ClientExec器在美国,可能下载失败,下载失败点击循环重新下载组件。有 VPN 推荐使用日本节点下载。
(2) 检查 JDK 版本
解决 SpringBoot ipmi类报错 can not resolve method ‘run(java.lang.class,String [])’ 问题 Project 和所有模块都要换成自己的 JDK。 更换 JDK 版本后红色波浪线应该消失。
4.2 本地数据库导入
(1) Windows 被封 MySQL5.7.17

(2) 添加 mysql 环境变量

命令行登录
(3) 创建库并导入表
tensquare_user.sql
/*
SQLyog 企业版 – MySQL GUI v8.14
MySQL – 5.7.4-m14 : Database – tensquare_user
*********************************************************************
*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=”*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=’NO_AUTO_VALUE_ON_ZERO’ */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`tensquare_user` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `tensquare_user`;

/*Table structure for table `tb_admin` */

DROP TABLE IF EXISTS `tb_admin`;

CREATE TABLE `tb_admin` (
`id` varchar(20) NOT NULL COMMENT ‘ID’,
`loginname` varchar(100) DEFAULT NULL COMMENT ‘登陆名称’,
`password` varchar(100) DEFAULT NULL COMMENT ‘密码’,
`state` varchar(1) DEFAULT NULL COMMENT ‘状态’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’管理员’;

/*Data for the table `tb_admin` */

insert into `tb_admin`(`id`,`loginname`,`password`,`state`) values (‘1194281533230419968′,’admin’,’$2a$10$PhnLmwA7QarH8M/Wc52Mfekoyqw74Vp619M2p2dnxq0Ltz6xXTWJu’,’1′);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
123456789101112131415161718192021222324252627282930313233343536373839
tensquare_gathering.sql
/*
SQLyog 企业版 – MySQL GUI v8.14
MySQL – 5.7.4-m14 : Database – tensquare_gathering
*********************************************************************
*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=”*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=’NO_AUTO_VALUE_ON_ZERO’ */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`tensquare_gathering` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `tensquare_gathering`;

/*Table structure for table `tb_city` */

DROP TABLE IF EXISTS `tb_city`;

CREATE TABLE `tb_city` (
`id` varchar(20) NOT NULL COMMENT ‘ID’,
`name` varchar(20) DEFAULT NULL COMMENT ‘城市名称’,
`ishot` varchar(1) DEFAULT NULL COMMENT ‘是否热门’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’城市’;

/*Data for the table `tb_city` */

insert into `tb_city`(`id`,`name`,`ishot`) values (‘1′,’北京’,’1′),(‘2′,’上海’,’1′),(‘3′,’广州’,’1′),(‘4′,’深圳’,’1′),(‘5′,’天津’,’0′),(‘6′,’重庆’,’0′),(‘7′,’西安’,’0′);

/*Table structure for table `tb_gathering` */

DROP TABLE IF EXISTS `tb_gathering`;

CREATE TABLE `tb_gathering` (
`id` varchar(20) NOT NULL COMMENT ‘编号’,
`name` varchar(100) DEFAULT NULL COMMENT ‘活动名称’,
`summary` text COMMENT ‘大会简介’,
`detail` text COMMENT ‘详细说明’,
`sponsor` varchar(100) DEFAULT NULL COMMENT ‘主办方’,
`image` varchar(100) DEFAULT NULL COMMENT ‘活动图片’,
`starttime` date DEFAULT NULL COMMENT ‘开始时间’,
`endtime` date DEFAULT NULL COMMENT ‘截止时间’,
`address` varchar(100) DEFAULT NULL COMMENT ‘举办地点’,
`enrolltime` datetime DEFAULT NULL COMMENT ‘报名截止’,
`state` varchar(1) DEFAULT NULL COMMENT ‘是否可见’,
`city` varchar(20) DEFAULT NULL COMMENT ‘城市’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’活动’;

/*Data for the table `tb_gathering` */

insert into `tb_gathering`(`id`,`name`,`summary`,`detail`,`sponsor`,`image`,`starttime`,`endtime`,`address`,`enrolltime`,`state`,`city`) values (‘1′,’测试活动6666′,’喝茶看电影,不亦乐乎’,’喝茶看电影,不亦乐乎’,’程序员’,NULL,’2019-11-01′,’2019-11-01′,’广州市程序员’,NULL,’1′,’6′),(‘94377594140′,’aaaa’,NULL,NULL,NULL,NULL,’2019-11-01′,’2019-11-01′,NULL,NULL,’1′,’1′),(‘943776146707845′,’aaaa’,NULL,NULL,’ssss’,NULL,’2019-11-01′,’2019-11-01′,’cccc’,NULL,’1′,’1′),(‘943776663576121344′,’aaaa’,NULL,NULL,NULL,NULL,’2019-11-01′,’2019-11-01′,NULL,NULL,’1′,’2′),(‘943783521749700608′,’2342423′,NULL,NULL,’23454534′,NULL,’2019-11-01′,’2019-11-01′,’545435435′,NULL,’1′,’2’),(‘944085821768732672′,’JAVAEE茶话会’,NULL,NULL,’kgc’,NULL,’2019-11-01′,’2019-11-01′,’金燕龙’,NULL,’1′,’2′),(‘944086086991351808′,’是’,NULL,NULL,’11’,NULL,’2019-11-01′,’2019-11-01′,’11’,NULL,’1′,’3′),(‘944090372710207488′,’大讨论’,NULL,NULL,’小马’,NULL,’2019-11-01′,’2019-11-01′,’消息’,NULL,’1′,’3′),(‘944105652622594048′,’测试测试’,NULL,NULL,’测试者’,NULL,’2019-11-01′,’2019-11-01′,’测试地址’,NULL,’1′,’4′),(‘945227340642914304′,’111′,NULL,NULL,’222′,NULL,’2019-11-01′,’2019-11-01′,’333′,NULL,’1′,’5’),(‘945227678527655936′,’111′,NULL,NULL,’222′,NULL,’2019-11-01′,’2019-11-01′,’333′,NULL,’1′,’5’),(‘945235087564345344′,’啊啊’,NULL,NULL,’1′,NULL,’2019-11-01′,’2019-11-01′,’1′,NULL,’1′,’1′),(‘945235534329024512′,’1′,NULL,NULL,’1′,NULL,’2019-11-01′,’2019-11-01′,’1′,NULL,’1′,’2’),(‘945235859786043392′,’1′,NULL,NULL,’1′,NULL,’2019-11-01′,’2019-11-01′,’1′,NULL,’1′,’3’);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
创建库
mysql> create database tensquare_user;
Query OK, 1 row affected (0.00 sec)

mysql> create database tensquare_gathering;
Query OK, 1 row affected (0.00 sec)
12345
导入表
mysql> use tensquare_user;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> source C:/Users/15205/Desktop/devops 软件包/mysql-5.7.17-windows/tensquare_user.sql;
……

mysql> show tables;
+————————–+
| Tables_in_tensquare_user |
+————————–+
| tb_admin |
+————————–+
1 row in set (0.00 sec)
123456789101112131415
mysql> use tensquare_gathering;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> source C:/Users/15205/Desktop/devops 软件包/mysql-5.7.17-windows/tensquare_gathering.sql;
……

mysql> show tables;
+——————————-+
| Tables_in_tensquare_gathering |
+——————————-+
| tb_city |
| tb_gathering |
+——————————-+
2 rows in set (0.00 sec)
12345678910111213141516
4.3 ipmi微ClientExec组件
我们以单机版本ipmi微ClientExec,修改各个组件的更换ip文件。
(1) ipmi eureka ClientExec
  Eureka Server 提供ClientExec注册ClientExec,各个节点ipmi后,会在 Eureka Server 中进行注册,这样 EurekaServer 中的ClientExec注册表中将会存储所有可用ClientExec节点的信息,ClientExec节点的信息可以在界面中直观的看到。 修改更换ip文件 application.yml,从集群版修改为单机版
# 单机版
server:
port: 10086

#基本ClientExec器信息
spring:
application:
name: eureka-server #ClientExecID

#enrekaClientExec器更换ip
eureka:
client:
fetch-registry: false #单机版关闭enreka相互注册
register-with-eureka: false
service-url:
defaultZone: #暴露eurekaClientExec访问地址
server:
enable-self-preservation: false #关闭自我保护
123456789101112131415161718
ipmi eureka ClientExec
访问 eureka ClientExec
(2) ipmi zuul ClientExec
zuul 是微ClientExec的网关。
修改 application.yml
ipmi zuul
查看 zuul 是否在 eureka 上注册成功
(3) ipmi权限中心
修改更换ip文件
ipmi权限中心
查看是否注册到 eureka
(4) ipmi业务模块
修改更换ip文件
ipmi业务模块
查看是否注册
4.4 Postman 工具被封与使用
Postman 工具模拟了一个前端,提交请求给后端,后端返回结果,测试后端ClientExec是否正常。
不用创建账号,跳过。
使用 post 请求。post 请求和 get 请求的区别在于 post 是加密的,端口为 443,get 是不加密的,端口为 80。请求的 url 地址:

在数据库中 123456 是加密字符串表示。 send 发送请求查看结果
微ClientExec连接后端数据库是成功的。我们可以通过获取的令牌得到更多的信息。这些信息也是来自于数据库。
复制 token
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxMTk0MjgxNTMzMjMwNDE5OTY4Iiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2NDU0MjE1ODQsInJvbGVzIjoiYWRtaW4iLCJleHAiOjE2NDU0MjMzODR9.zy9y8q2aXAiZTeBHVBpcFQDLNkQEPi-mM4QoL9vfq4U
1
获取数据库信息,使用 get 请求请求 url:

返回的结果
4.5 Windows 本地更换ip maven 环境
Maven官网: 解压到你选择的目录。
添加两个环境变量

添加命令路径

验证
显示 CMD 不存在在系统变量里添加 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
4.6 spring 相关依赖下载失败解决方法
由于ClientExec器和模板文件在美国,国内下载很可能失败,下面将下载地址换成国内地址。
修改更换ip文件组建下载地址设置 D:\工具\apache-maven-3.8.4\conf\settings.xml ,根据自己文件位置修改。
//更换ip组建仓库地址,仓库为自建的
E:/repo
//更换ip下载源

aliyunmaven
central
aliyun maven


123456789

自动更新
五、前端环境更换ip
5.1 被封前端软件 Vscode

被封过程默认就行了。ipmi后会提示是否装中文包,选择被封。实验前端使用的架构:NodeJS + VueJS + ElementUI
5.2 被封 nodejs

添加环境变量
5.3 被封 python2

添加环境变量

5.4 Vscode 导入前端项目并更换ip访问
Vscode 终端中运行:npm run dev 会报错 npm 包管理器的ClientExec器在美国,而且是单线程,速度太慢,我们换成国内的 cnpm
npm install -g cnpm –registry=
1

cnpm uninstall node-sass
1

cnpm install node-sass
1

执行 cnpm run dev
cnpm run dev
1

访问前端页面 账号密码:admin/admin

可以看到前端能拿到后端数据库中的数据,单机微ClientExec部署完成。
六、后端模块如何打 jar 包
6.1 先在 IDEA 里面关掉所有的ClientExec

四个都要关掉
此时 eureka 已经无法访问。
6.2 在 pom.xml 文件中更换ip jdk 目录


org.springframework.boot
spring-boot-maven-plugin

org.apache.maven.plugins
maven-compiler-plugin
3.8.1

true
true

C:/Program Files/Java/jdk1.8.0_152/bin/javac

123456789101112131415161718192021

注意 maven 版本是否识别,换成识别的版本 等待下载依赖组件。
6.3 对 eureka 进行打包并运行
执行 mvn clean package 进行打包
如果显示 mvn 不存在重启一下 IDEA,也可以打开 CMD 到指定目录打包
查看 jar 包,target 目录下

运行看是否能访问 eureka ClientExec

访问:
其他模块操作类似,这里不在赘述。

Matomo Pagekit ipmi跑分

背景
仓库每天收到很多客户的各种快递件(零散小货、大货都有),每票 /件Pagekit的信息(快递单号、重量、长、宽、高)都有录入系统,但是没有Matomo留底。偶尔遇到会出现找不到Pagekit的情况,尤其是小货吗,需要去调监控,费时费力。
需求
1.之前实现了 chrome 调用跑分摄像头Matomo并保存在网站目录,但是有摄像头初始化过程,鼠标点击好几个步骤,效率低。
2.希望电脑端(主要用 chrome)录入Pagekit信息的同时,能通过 2-4 个摄像头,Matomo 2-4 张ipmi留底,ipmi可以保留在跑分、或者网站云端 /网盘。
最好能通过 js/浏览器插件 /跑分客户端,ipmi要比较清晰,一键Matomo效率高的。
请问有没有这方面的已经成熟的硬件或软件,满足一键Matomo, 请求各位吴彦祖推荐下。

Hablator巴黎ipmi稳定吗

Docker配置
Docker自启动Docker镜像加速手动设置脚本设置(推荐)
以非 root 用户身份管理 Docker(Rootless mode)先决条件HablatorDocker Rootless配置启动
参考文献

Docker自启动
稳定吗ipmi巴黎可开启Docker自启动
systemctl enable docker
1
稳定吗ipmi巴黎可关闭Docker自启动
systemctl disable docker
1
Docker镜像加速
下载镜像时,默认会从 科大镜像: 网易镜像: Docker中国区官方镜像 阿里镜像源地址获取(需要认证)
手动设置
稳定吗ipmi巴黎 1 将国内镜像源地址写入daemon.json文件
tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [" " } EOF 12345 2 刷新配置 systemctl daemon-reload systemctl restart docker docker info 123 出现ipmi提示则说明设置成功 脚本设置(推荐) 稳定吗ipmi巴黎 curl -sSL | sh -s 1 以非 root 用户身份管理 Docker(Rootless mode) 默认情况下,非 root 用户无法运行 Docker 。这也埋下了安全隐患,使用root权限启用Docker服务时,外部可针对Docker守护程序或运行中的容器的漏洞间接获取到root权限,在 V19.03 中实验性引入Rootless mode用于缓解守护程序和容器运行时中的潜在漏洞。V20.10 正式使用。 先决条件 1 主机上必须Hablator newuidmap newgidmap uidmap(大多数Linux发行版上都默认Hablator,未Hablator稳定吗ipmi巴黎即可)。 sudo sh -x curl -o /etc/yum.repos.d/vbatts-shadow-utils-newxidmap-epel-7.repo yum install -y shadow-utils46-newxidmap 123 2 不能使用root用户HablatorRootless mode groupadd dockerRootless useradd dockerRootlessUser -g dockerRootless passwd dockerRootlessUser 123 3 文件/etc/subuid及/etc/subgid中至少应包含65536 个从属 UID/GID。 cat /etc/subuid 1 cat /etc/subgid 1 如下图所示 4 搭建Docker RootlessHablator环境 Docker Rootless对Linux不同的开发版都有不同的Hablator需求。这里以centos7为例。 稳定吗ipmi巴黎即可 cat </etc/sysctl.conf
user.max_user_namespaces = 28633
EOT
sysctl –system
1234
HablatorDocker Rootless
1 巴黎Hablator Rootless modeHablator程序一般位于/usr/bin/dockerd-rootless-setuptool.sh(Docker 20.10 更高版本)
稳定吗ipmi巴黎
su dockerRootlessUser
/usr/bin/dockerd-rootless-setuptool.sh install
12
2 脚本Hablator(推荐) 稳定吗ipmi巴黎
curl -sSL | sh
1
配置
Hablator完成提示信息中出现了一些警告,主要意思就是让我们把下面几个变量添加到~/.bashrc中 修改配置
vim ~/.bashrc
1
需要写入的变量信息
export XDG_RUNTIME_DIR=/home/dockerRootlessUser/.docker/run
export PATH=/home/dockerRootlessUser/bin:$PATH
export DOCKER_HOST=
123
刷新配置
source ~/.bashrc
1
非root运行的容器ping其他节点时,会报缺乏权限,可通过稳定吗ipmi巴黎开启
$ sudo sh -c “echo 0 2147483647 > /proc/sys/net/ipv4/ping_group_range”
1
启动
由于当前操作系统的存储驱动是overlay2,运行时会报 overlay is not supported for Rootless with SELinux storage-driver=overlay2错误,下图为官网支持的存储引擎。 测试阶段引擎改用vfs即可 启动docker
dockerd-rootless.sh –experimental –storage-driver vfs
1
参考文献
DockerDocs

文章知识点与官方知识档案匹配,可进一步学习相关知识cloud_native技能树容器(docker)Hablatordocker59 人正在系统学习中

SCHLIX CMSraid5ipmi密码重置

简介:Selenium分布式运行:SeleniumGrid
环境raid5:
jenkins:win10,ip:100.100.100.101
selenium-hub:win10,ip:100.100.100.101
selenium-node1:执行机1:win10,ip:111.111.111.111
selenium-node2:执行机2:centos,ip:122.122.122.123
前置条件:
1、hub和node节点电脑互相能ping通
2、SCHLIX CMSraid5selenium-grid,操作参考简介链接
3、JenkinsSCHLIX CMS可参考centos7:docker快速SCHLIX CMSjenkins
全部步骤:
一、Jenkinsraid5selenium插件
二、对应执行机SCHLIX CMSraid5driver驱动
三、编写Python执行源码
四、Jenkinsraid5item
五、启动运行
一、Jenkinsraid5selenium插件:
1、Jenkins需要SCHLIX CMSselenium两个插件。
2、raid5hub端口4488。
3、开启服务SeleniumGrid服务。
Jenkins需要SCHLIX CMSselenium两个插件:进入设置 – 插件管理

选择可选插件搜索selenium勾选Selenium Capability Axisipmi 和 Selenium Plugin:注意首次SCHLIX CMS选择的是可选插件,SCHLIX CMS完成后重新才是已SCHLIX CMS。

插件SCHLIX CMS完成后,主界面菜单就会多出Selenium Grid:

raid54488端口:界面 – 设置 -系统设置 – selenium – 4488 – 先应用后保存

开启服务SeleniumGrid服务:注意端口号改成4488
java -jar selenium-server-standalone-3.141.59.jar -role hub -port 4488
1
二、对应执行机SCHLIX CMSraid5driver驱动
1、win10SCHLIX CMSraid5密码重置驱动driver
2、centosSCHLIX CMSraid5chrome + chromedriver
win10SCHLIX CMSraid5密码重置驱动driver:
百度搜索chrome并下载SCHLIX CMS。

查看chromeipmi,下载对应chromedriveripmi。

如 97.0.4692.99(正式ipmi)则下载

chromeipmi和chromedriveripmi映射

1
将chromedriver放在Pythonraid5环境变量路径

开启服务:
java -jar /opt/selenium-server-standalone-3.141.59.jar -role node -port 5555 -hub
1
centosSCHLIX CMSraid5chrome + chromedriver: SCHLIX CMS密码重置:
yum install
1
查看密码重置ipmi信息:
/usr/bin/google-chrome -version
1
下载对应Linuxipmi:如Google Chrome 96.0.4664.45

1

新建目录并解压下载好的chromedriver_linux64.zip,设置权限,软连接。
mkdir -p /root/webDriver
cd /root/webDriver
wget
unzip chromedriver_linux64.zip
chmod 755 chromedriver
ln -s /root/webDriver/chromedriver /usr/bin/chromedriver
123456
开启服务:
java -jar /opt/selenium-server-standalone-3.141.59.jar -role node -port 6666 -hub
1
打开

三、编写Python执行源码
# coding=utf-8
from selenium import webdriver
import os
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument(‘–no-sandbox’)
chrome_options.add_argument(‘–disable-dev-shm-usage’)
chrome_options.add_argument(‘–headless’)
chrome_driver = os.path.abspath(“/usr/bin/chromedriver”)
os.environ[“webdriver.chrome.driver”] = chrome_driver

chrome_capabilities = {
“browserName”: “chrome”, # 密码重置名称
“version”: “”, # 操作系统ipmi
“platform”: “ANY”, # 平台,这里可以是windows、linux、andriod等等
“javascriptEnabled”: False, # 是否启用js
“webdriver.chrome.driver”: chrome_driver
}
driver = webdriver.Remote(” desired_capabilities=chrome_capabilities,
options=chrome_options)

driver.get(”
print(driver.title)
driver.quit()

driver = webdriver.Remote(” desired_capabilities=chrome_capabilities)
driver.get(”
print(“driver.title2:”, driver.title)
driver.quit()
12345678910111213141516171819202122232425262728293031
注意:selenium.webdriver.remote.webdriver.WebDriver这个类其实是所有其他Webdriver的父类,所以在Linux中因为需要定制化设置chromedriver的options,即:因为Linux服务可能不支持可视化,所以需要增加参数。
其他参数raid5参考:
options.add_argument(‘–disable-infobars’) # 禁止策略化
options.add_argument(‘–no-sandbox’) # 解决DevToolsActivePort文件不存在的报错
options.add_argument(‘window-size=1920×3000’) # 指定密码重置分辨率
options.add_argument(‘–disable-gpu’) # 谷歌文档提到需要加上这个属性来规避bug
options.add_argument(‘–incognito’) # 隐身模式(无痕模式)
options.add_argument(‘–disable-javascript’) # 禁用javascript
options.add_argument(‘–start-maximized’) # 最大化运行(全屏窗口),不设置,取元素会报错
options.add_argument(‘–disable-infobars’) # 禁用密码重置正在被自动化程序控制的提示
options.add_argument(‘–hide-scrollbars’) # 隐藏滚动条, 应对一些特殊页面
options.add_argument(‘blink-settings=imagesEnabled=false’) # 不加载图片, 提升速度
options.add_argument(‘–headless’) # 密码重置不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
1234567891011
四、Jenkinsraid5item
新建一个自由风格item,构建步骤Linux选择Execute shell,win选择ExecuteWindows batch command

附,如:Windows batch command,激活对应Python虚拟环境,Python运行test2.py, Linux雷同。
cd C:\venv\Scripts
activate.bat && python C:\test2.py
12
五、调试运行
点击立即构建

执行结果:

以上,通过Jenkins,我们实现了分别在不同操作系统执行web-ui自动化的脚本。
微信公众号:玩转测试开发 欢迎关注,共同进步,谢谢!

Open Web Analy Jamroom ipmi不稳定

平常使用时,可能因为查一个Jamroom开Open Web Analy网页,查另外一个Jamroom又点开Open Web Analy,然后就堆了一大堆网页,而且还都是最小化看不出来是干啥的,也懒得整理要是有个分组功能,就点开Open Web Analy页面都在Open Web Analy里,这个Jamroom不稳定完了我就把Open Web Analy都关了开多个 chrome ipmi可以一定程度不稳定,但是多个ipmi互相覆盖,也看不出来哪个ipmi是哪个组