python3+selenium项目在centos上用gitlab+jenkins运行

背景

项目在windows上写的,代码管理gitlab,现在需要集成到jenkins上面去,jenkins安装在centos服务器上的

前置条件

1.jekins的服务器centos上已经安装了git,且已经添加到环境变量
2.jenkins已经安装好gitlab的各种插件,设置-插件管理中搜索并安装

jenkins创建项目,拉取gitlab上的代码

在jenkins上创建任务,代码管理中,从gitlab上的得到你项目的https地址(不是ssh哈),使用简单的http连接,输入账号密码就可以连通

输入地址后,点击添加,在弹出的框中输入用户名和密码(gitlab的用户名和密码),界面没出现红色提示,就代表能够连通
拉取gitlab上的代码
输入用户名和密码

在jenkins的服务器centos上,安装python+selenium的运行环境

centos自带已经装了python2,不要卸载,直接装python3

装python3:yum install python36 需要什么版本的python就装什么版本的

安装插件:pip3 install XXXX 需要什么安装什么

安装谷歌浏览器:

下载包:wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

安装下载好的谷歌浏览器:yum install ./google-chrome-stable_current_x86_64.rpm

测试谷歌浏览器是否安装好:google-chrome --version 没报错就安装好了,现在不要去调用google-chrome如果你是root权限安装的,是会报错的,但是不影响selenium使用

安装chromedriver:因为刚刚下载的是最新版本的google-chrome,所以直接在windows上下载最新版本的chromedriver

注意:要下linux版本的,解压后,通过xshell放到centos上去,直接放到python3可执行目录下:/usr/bin下

给予执行权限:chmod +x /usr/bin/chromedriver

服务器环境就配置好了

jenkins上项目配置中,构建执行语句

执行构建语句就是你要做什么操作,我们这里是要运行python代码,入口是runner.py,所以就执行它
因为是centos环境运行,选择shell执行,如果是windows环境,就选择“执行windows批处理命令”
执行语句

jenkins配置 定时执行

如果要设置定时执行,在构建触发器中设置

在 Schedule 中填写的五个 * * * * *
第一个代表的是分钟 minute,取值 0~59;
第二个代表的是小时 hour,取值 0~23;
第三个代表的是天 day,取值 1~31;
第四个代表的是月 month,取值 1~12;
最后一个代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
所以 下面这个0 10 * * * 表示的就是每天10点构建
定时构建

配置完成,就可以构建项目了

点击立即构建,点击正在构建的任务

构建

点击控制台输出,就能看到日志了

在这里插入图片描述

过程当中会遇到的坑

肯定不会这么顺利的
下面是我遇到的各种坑

windows上写的代码,无法掉用起centos上的chrome

在windows上的代码:
windows上调用chrome
在jenkins上会报错:
(unknown error: DevToolsActivePort file doesn’t exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
报错
这是因为,在windows上,默认是要调起浏览器的UI画面,但是在centos上,通过命令行运行的谷歌浏览器,是不会真正掉UI画面的
需要在代码中设置chrome一些参数
正常来讲,这几个就够了
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(’–headless’) #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
chrome_options.add_argument(’–no-sandbox’) # 以最高权限运行
chrome_options.add_argument(’–disable-gpu’) #禁用GPU加速

启动参数作用
–user-agent=""设置请求头的User-Agent
–window-size=1366,768设置浏览器分辨率
–headless无界面运行
–start-maximized最大化运行
–incognito隐身模式
–disable-javascript禁用javascript
–disable-infobars禁用浏览器正在被自动化程序控制的提示
–disable-gpu禁用GPU加速

设置之后的代码,就能在centos上正常运行了
在这里插入图片描述

centos 调起的chrome浏览器中文全部显示为方框 □

参考这篇文章
https://blog.csdn.net/weixin_40274647/article/details/102785872

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值