1. python环境安装
1)安装Python,机器上没有自己安装;
# 安装依赖,避免报错
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
tar -zxvf Python-3.8.6.tgz
./configure --prefix=/usr/local/python38
make
sudo make install
sudo ln -s /usr/local/python38/bin/python3.8 /usr/bin/python3
sudo ln -s /usr/local/python38/bin/pip3.8 /usr/bin/pip3
python3 # 查看是否安装成功
2)安装Python虚拟环境
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper # virtualenvwrapper更方便的管理虚拟环境,将所有虚拟环境整合到一个目录下管理
# 配置环境变量~/.bash_profile
export WORKON_HOME=$HOME/.virtualenvs # mkdir .virtualenvs,作为虚拟环境目录
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh # find / -name “virtualenvwrapper.sh” 查看目录位置
source ~/.bash_profile # 生效配置
3)创建虚拟环境
mkvirtualenv -p /usr/bin/python3.6 autocase # 创建虚拟环境
workon # 查看已有虚拟环境
workon autocase # 激活虚拟环境
cdvirtualenv # 进入当前激活虚拟环境目录, 虚拟环境中只包含原生Python库,需要重新安装其他依赖包,或virtualenv-clone 可复制虚拟环境
2. 依赖包安装
# 依赖包:根据需要安装 https://www.lfd.uci.edu/~gohlke/pythonlibs/
sudo pip3 install pytest
sudo pip3 install allure-pytest
# pip安装失败, 下载压缩包
tar -zxvf xx.tar.gz
python3 setup.py build
python3 setup.py install
pip3 freeze > requirements.txt # 导出已安装的依赖包
pip3 install -r requirements.txt # 安装依赖包
# allure 报错 https://registry.npmjs.org/allure-commandline/-/allure-commandline-2.13.0.tgz
tar -zxvf allure-commandline-2.13.0.tgz
配置环境变量: 解压目录/allure-commandline/package/dist/bin
allure --version
3. 下载测试代码调试环境
cdvirtualenv: 进入虚拟环境后,下载code进行环境调试。
4. Jenkins 配置
1)安装Java: 新增slave节点需要java环境
cd /usr/local/java # 官网下载对应linux版本的jdk
tar zxvf jdk-8u311-linux-x64.tar.gz
配置环境变量/etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_311 # java解压路径
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version # 查看安装效果
2)新增slave节点:Launch agent agents via SSH
3)配置Jenkins job: pipeline的job
pipeline {
agent{label 'execute ip'} # 指定执行slave机器
environment {
PYTHONIOENCODING = 'UTF-8' # 中文编码问题加上的
}
stages {
stage('checkout code') {
steps {
dir('/dir/') {
git branch: 'master', url: 'git url'
}
}
}
stage('parallel execute stage') {
parallel {
stage('Stage2.1') {
steps {
sh label: '', script: '''source ~/.bash_profile
cd /dir/
python3 -m pytest -v -s testsuit --alluredir=/data/allure-results'''
}
}
}
}
stage('test report') {
steps {
script{
allure commandline: 'allure command', includeProperties: false, jdk: '', report: 'allure-report', results: [[path: 'allure-results']]
}
}
}
}
}
5. 问题
安装依赖包的时候会报各种错:
1) 安装paramiko报错:ModuleNotFoundError: No module named 'setuptools_rust'
# https://stackoverflow.com/questions/14426491/python-3-importerror-no-module-named-setuptools
sudo pip3 install -U pip setuptools
# 下载包解压安装
tar -zxvf paramiko-2.6.0.tar.gz
sudo python3 setup.py build
sudo python3 setup.py install
2) 安装tornado : ornado/speedups.c:2:20: fatal error: Python.h: No such file or directory
1 tar xvzf tornado-3.1.tar.gz
2 cd tornado-3.1
3 python setup.py build
如果失败,报ornado/speedups.c:2:20: fatal error: Python.h: No such file or directory
先安装一些依赖环境:sudo yum install gcc python3-devel
4 sudo python setup.py install
3) Jenkins执行Python脚本:"message": "UnicodeEncodeError: 'ascii' codec can't encode characters in position 102-106: ordinal not in range(128)
脚本前增加环境变量:PYTHONIOENCODING = 'UTF-8'
4) java.io.IOException: Can't find allure commandline <null>
allure 命令的配置问题,确认执行机器上allure的路径和配置的一致。
notes:
4)nginx 安装步骤
# 安装依赖
sudo yum install -y openssl openssl-devel
yum install -y zlib zlib-devel
# 安装nginx
tar -zxf nginx-1.20.2.tar.gz
cd nginx-1.20.2
./configure --sbin-path=/home/work/tmp/sbin/nginx --conf-path=/home/work/tmp/conf/nginx.conf --pid-path=/home/work/tmp/var/nginx.pid --error-log-path=/home/work/tmp/log/error.log --with-http_ssl_module
make
sudo make install
# 查看版本
cd ../tmp/sbin
./nginx -V # 也可复制到其他地方更新版本
# 启动
./nginx -c ./nginx.conf # 使用指定配置文件启动
版权声明:本文为angl129原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。