之前写的pythonUI自动化一直在本地运行。后面去申请专门的windows机器来跑。因为对Jenkins下执行windows 脚本不是很熟悉,集成到jenkins的时候遇到大量问题没法解决,另外一个原因就是linux下运行效率更高。。所以想尝试把UI自动化脚本部署到Linux机器上去。
因为没有图像界面所以就需要用到无头浏览器了,目前方案有3个可以选择:
一是:PhantomJS 这个好像已经不更新了。也不支持python3.7所以没选择。
二是:XVFB; 全称呼:virtual framebuffer X server for X Version 11, Xvfb 可以直接处理Window 的图形化功能,并且不會把图像输出到屏幕上,也就是說,就算你的电脑没有window界面 , 你仍可以执行任何的程序。
另外一个就是Chrome Headless,最新版的chrome支持headless模式可能就是导致PhantomJS不维护的主要原因了。
因为我的自动化用的python3,所以选择了chrome Headless
一.准备环境
安装python环境和pip,不做详细说明,可以参照:https://blog.csdn.net/zhangdongren/article/details/82685932
二.安装chrome
wget https://dl.google.com/linux/direct/google-chrome-stable\_current\_x86\_64.rpm
yum install ./google-chrome-stable_current_x86_64.rpm
查看已安装google版本
rpm -qa|grep google-chrome
如果装错版本可以卸载重新安装
卸载:
rpm -e google-chrome-stable
检查
rpm -qa|grep google-chrome #执行后没有chrome信息出现。卸载成功
三.安装chromedriver
下载:
wget https://chromedriver.storage.googleapis.com/2.38/chromedriver\_linux64.zip
https://npm.taobao.org/mirrors/chromedriver/ 这里可以看到所有的版本
解压:
unzip chromedriver_linux64.zip
修改存放地方:
mv chromedriver /usr/local/bin/
修改权限:
chmod u+x,o+x /usr/local/bin/chromedriver
输入 chromedriver -v检查是否安装成功
四.安装python 项目依赖包。
现在项目目录下执行
pip freeze>requirements.txt
生成包含了版本号的依赖包
文件同项目一起部署到服务器上
然后执行
pip install-r requirements.txt
会自动安装项目里面用到的依赖包包括selenium等
五.安装第三方依赖包
项目中我用到了第三方的依赖包生成测试报告BeautifuReports和HTMLTestReportCN
这些需要单独下载以后放在python的安装目录
/usr/local/lib/
/usr/local/lib/python3.7中
六.部署代码执行