前提:Selenium在Linux服务器上运行必须要以无界面模式

chrome_options = webdriver.ChromeOptions()

if platform.system().lower() == 'linux':
    # 如果是linux系统运行,就采用无界面的方式执行自动化脚本
    # 使用headless无界面浏览器模式
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--headless')  # //增加无界面选项 适用于linux系统执行
    chrome_options.add_argument('--disable-gpu')  # //如果不加这个选项,有时定位会出现问题

没有服务器的伙伴可以参考这篇博客自行创建

安装配置jdk(allure需要依赖jdk)

jdk1.8下载链接:Java Downloads | Oracle   点击后需要oracle账号登录,这里分享一个共享账号,提供下载

账号:2028056560@qq.com

密码:Oracle1234

centos7一键pptp脚本 centos7运行脚本的命令_selenium

将下载好的jdk压缩包传入服务器中,可以用命令或者工具上传

使用命令:ssh root@192.168.202.203 连接到服务器

使用命令:mkdir /usr/local/java  创建文件夹

centos7一键pptp脚本 centos7运行脚本的命令_linux_02

使用命令:scp .\jdk-8u333-linux-x64.tar.gz root@192.168.202.203:/usr/local/java   上传文件到服务器

centos7一键pptp脚本 centos7运行脚本的命令_centos_03

使用命令:tar -zxvf jdk-8u333-linux-x64.tar.gz  解压jdk压缩包

centos7一键pptp脚本 centos7运行脚本的命令_linux_04

配置jdk环境变量

输入命令:vi /etc/profile  将下面复制到profile文件中

export JAVA_HOME=/usr/local/java/jdk1.8.0_333
 export JRE_HOME=${JAVA_HOME}/jre
 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
 export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
 export PATH=$PATH:${JAVA_PATH}

输入命令:source /etc/profile  使配置生效

输入命令:java --version  检查配置环境变量是否成功

centos7一键pptp脚本 centos7运行脚本的命令_centos_05

安装配置Python3.9

提前安装某些依赖,以防安装python会出问题,依次执行一下命令

yum -y install gcc automake autoconf libtool make
 yum -y install make*
 yum -y install zlib*
 yum -y install libffi-devel   # 不装可能会报错 No module named '_ctypes'
 yum -y install openssl libssl-dev

下载Python3.9

打开链接:Python Release Python 3.9.0 | Python.org  下载(建议使用迅雷下载,速度快)

centos7一键pptp脚本 centos7运行脚本的命令_centos_06

将python文件上传到服务器   scp .\Python-3.9.0.tgz root@192.168.202.203:/usr/local/src

centos7一键pptp脚本 centos7运行脚本的命令_linux_07

安装、配置python环境变量

切换到保存python文件目录:cd /usr/local/src
解压下载到的python文件:tar -zxvf Python-3.9.0.tgz
文件夹重命名:mv Python-3.9.0 py3.9
进入python文件夹内:cd py3.9

./configure --prefix=/usr/local/src/py3.9
 make && make installln -s /usr/local/src/py3.9/bin/python3.9 /usr/bin/python3
 ln -s /usr/local/src/py3.9/bin/pip3 /usr/bin/pip3

检查python是否安装完成: python3

centos7一键pptp脚本 centos7运行脚本的命令_centos_08

可能出现的问题:pip无法安装第三方库 报错pip is configured with locations that require TLS/SSL

解决办法:

mkdir ~/.pip
 vi ~/.pip/pip.conf

# 输入:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host = mirrors.aliyun.com

安装配置allure

下载allure文件:https://github.com/allure-framework/allure2/releases

centos7一键pptp脚本 centos7运行脚本的命令_自动化_09

将下载的文件传入服务器  scp .\allure-2.18.0.tgz root@192.168.202.203:/usr/local/src

centos7一键pptp脚本 centos7运行脚本的命令_centos7一键pptp脚本_10

配置allure环境变量

切换到allure文件路径:cd /usr/local/src

解压allure压缩包:tar -zxvf allure-2.18.0.tgz

重命名文件:mv allure-2.18.0 allure

修改allure文件夹及子文件的权限:chmod -R 777 allure

配置 allure 和 py 环境变量

cat >> /root/.bashrc << "EOF" 
 export PATH=/usr/local/src/allure/bin:$PATH 
 export PATH=/usr/local/src/py3.9/bin:$PATH 
 EOF

更新环境变量配置
source /root/.bashrc

验证
allure --version

centos7一键pptp脚本 centos7运行脚本的命令_linux_11

安装Chrome浏览器(UI自动化)

配置yum下载源:vi /etc/yum.repos.d/chrome.repo
输入
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

建立缓存
yum clean all
yum makecache

安装google chrome浏览器
yum -y install google-chrome-stable --nogpgcheck

centos7一键pptp脚本 centos7运行脚本的命令_centos_12

测试,查看是否有信息输出
google-chrome --headless --disable-gpu --dump-dom --no-sandbox https://www.baidu.com

返回页面源代码即成功

执行UI自动化测试脚本

脚本运行前需要配置谷歌浏览器驱动环境变量

下载(version<=114)对应的谷歌驱动:http://chromedriver.storage.googleapis.com/index.html  

最新驱动下载地址:

centos7一键pptp脚本 centos7运行脚本的命令_centos7一键pptp脚本_13

centos7一键pptp脚本 centos7运行脚本的命令_自动化_14

本地解压后,将驱动上传到服务器  scp .\chromedriver root@192.168.202.203:/usr/local/bin/

centos7一键pptp脚本 centos7运行脚本的命令_centos7一键pptp脚本_15

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

验证:/usr/local/bin/chromedriver

centos7一键pptp脚本 centos7运行脚本的命令_centos_16

执行脚本

将项目打包并上传到服务器中:scp .\xx_web.zip root@192.168.202.203:/opt

centos7一键pptp脚本 centos7运行脚本的命令_selenium_17

安装解压工具:yum -y install unzip 

解压:unzip xx_web.zip

进入项目工程内:cd xx_web

安装工程所需要的第三方库: python3 -m pip install -r requirements.txt

执行测试脚本: python3 run.py

centos7一键pptp脚本 centos7运行脚本的命令_centos7一键pptp脚本_18

centos7一键pptp脚本 centos7运行脚本的命令_linux_19

下面是生成的allure报告  本机访问需要关闭服务器防火墙或者允许指定端口放开 

关闭防火墙:systemctl stop firewalld.service

页面地址:http://192.168.202.203:43350/

centos7一键pptp脚本 centos7运行脚本的命令_自动化_20