linux上部署UI自动化环境

selenium在windows上运行,每次都会启动界面,运行也不是很稳定,通过在Linux上部署,使用无界面模式,可以有效提高运行效率

部署环境:

linux系统

python3

chrome

chromedriver

selenium

1、安装最新版本chrome

两种安装方式:

(1)下载到本地后安装

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

yum localinstall google-chrome-stable_current_x86_64.rpm

(2)在线安装

yum install google-chrome-stable_current_x86_64.rpm

(3)安装完成后,检查版本号

2、安装chromedriver

(1)chromedriver需要与chrome版本相对应,如下地址中可查看版本对应关系并下载

http://chromedriver.storage.googleapis.com/index.html

(2)然后上传到linux并解压,unzip chromdriver_xxx.zip

(3)解压后移动到/usr/bin目录下

mv chromedriver /usr/bin

(4)查看chromedriver版本号

3、安装selenium

pip install selenium 安装最新版本selenium

以上基础环境已经安装完毕,接下来主要是根据代码实际内容安装依赖的第三方模块,但是在此之前,最好还是先创建一套虚拟环境用来运行自动化脚本,与系统原环境隔离开来

1、安装virtualenv

pip install virtualenv

2、创建虚拟环境

mkdir myproject  创建虚拟环境目录并切换到该目录下

virtualenv env(任意名称)  

注意,只有python2.7版本以上才支持virtualenv脚本

3、激活虚拟环境

source  venv/bin/activate

4、退出虚拟环境

deactivate

问题:

在执行过程中碰到了以下问题,暂未解决,目前采用了其他的方法保证程序运行

背景:自动化脚本中使用了自定义的模块,在linux上运行时,会报无法找到该模块,通过编辑/etc/profile文件,已经将模块上级目录添加到系统PYTHONPATH中,在linux上直接执行可以成功

1、在jenkins上构建任务,执行shell语句处配置了进入虚拟环境,运行脚本的命令,但是依然报错无法找到该模块,添加source /etc/profile后,又会报shell执行失败

打印系统变量sys.path,这里的路径就是系统执行脚本时会去这些目录下找对应的模块(自定义的模块),可以看到,系统自动将指定代码所在的目录加在了系统路径中,而自己指定的目录没有生效,单独在linux上打印执行是按照自己指定的目录去查找的,但是集成到jenkins后不知道为什么路径就会变了,因此将执行代码移动到自定义模块上级路径下,这样系统就会将这个目录添加到系统路径中,也就可以找到该目录下的自定义模块了,只不过目录改变,代码需要重新做适配

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值