前提: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
将下载好的jdk压缩包传入服务器中,可以用命令或者工具上传
使用命令:ssh root@192.168.202.203 连接到服务器
使用命令:mkdir /usr/local/java 创建文件夹
使用命令:scp .\jdk-8u333-linux-x64.tar.gz root@192.168.202.203:/usr/local/java 上传文件到服务器
使用命令:tar -zxvf jdk-8u333-linux-x64.tar.gz 解压jdk压缩包
配置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 检查配置环境变量是否成功
安装配置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 下载(建议使用迅雷下载,速度快)
将python文件上传到服务器 scp .\Python-3.9.0.tgz root@192.168.202.203:/usr/local/src
安装、配置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
可能出现的问题: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
将下载的文件传入服务器 scp .\allure-2.18.0.tgz root@192.168.202.203:/usr/local/src
配置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
安装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
测试,查看是否有信息输出
google-chrome --headless --disable-gpu --dump-dom --no-sandbox https://www.baidu.com
返回页面源代码即成功
执行UI自动化测试脚本
脚本运行前需要配置谷歌浏览器驱动环境变量
下载(version<=114)对应的谷歌驱动:http://chromedriver.storage.googleapis.com/index.html
最新驱动下载地址:
本地解压后,将驱动上传到服务器 scp .\chromedriver root@192.168.202.203:/usr/local/bin/
给予权限:chmod +x /usr/local/bin/chromedriver
验证:/usr/local/bin/chromedriver
执行脚本
将项目打包并上传到服务器中:scp .\xx_web.zip root@192.168.202.203:/opt
安装解压工具:yum -y install unzip
解压:unzip xx_web.zip
进入项目工程内:cd xx_web
安装工程所需要的第三方库: python3 -m pip install -r requirements.txt
执行测试脚本: python3 run.py
下面是生成的allure报告 本机访问需要关闭服务器防火墙或者允许指定端口放开
关闭防火墙:systemctl stop firewalld.service