Linux下搭建自动化测试环境
一. 登陆阿里云服务器
测试环境使用的阿里云linux服务器,CentOS7.8版本
1. 购买阿里云服务器后,登陆ECS控制台,查看云服务器ECS
2. 点击购买的实例,进入实例详情,可查看到服务器基本信息(CPU,内存,操作系统,带宽)
3. 通过点击更多按钮,编辑实例属性(实例名称和HostName)
4. 通过点击更多按钮,重置实例密码(此操作需要手机短信验证)
5. 重启实例
6. 根据实例详情中提供的公网IP地址,登陆root账号
# 查看磁盘大小 df -h # 查看CentOS版本 cat /etc/redhat-release
二. 常用工具安装与规则说明
2.1 通过yum安装的工具
# 实现windows和linux下拖拽传输文件 yum install lrzsz # 解压zip包工具 yum install -y unzip zip
2.2 如果需要通过源码安装程序,源码包统一存在路径为: /opt/pkg
2.3 源码安装程序的基本思路
# 大体分为五个步骤: 1. 下载源码(通过wget去下载) 2. 安装编译依赖包(yum方式安装) 3. 编译源码(解压和安装) 4. 添加软连接(将命令添加到/usr/bin目录下) 5. 验证命令是否安装成功
三. 常用软件的安装
3.1 安装python3.6环境
3.1.1 源码安装python3.6
# 步骤1: 下载python3源码包 cd /opt/pkg && wget http://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz # 步骤2: 安装编译依赖包 yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make # 步骤3: 编译源码 xz -d Python-3.6.4.tar.xz && tar -xf Python-3.6.4.tar && cd Python-3.6.4 ./configure prefix=/usr/local/python3 && make && make install # 步骤4: 创建软连接 ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3 # 步骤5: 验证python3命令是否安装成功 python3 --version pip3 list
注意事项:
1) 在编译源码中,如果出现了如下报错内容,则需要修改Setup.dist文件后重新编译
ModuleNotFoundError: No module named '_ssl'
# 修改/opt/pkg/Python-3.6.4/Modules/Setup.dist文件,将以下这段已注释的代码,去掉注释 SSL=/usr/local/ssl _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
3.1.2 配置国内pip源
# 创建文件: rm -rf ~/.pip && mkdir ~/.pip && vim ~/.pip/pip.conf [global] timeout=6000 index-url=http://pypi.douban.com/simple/ [install] trusted-host=pypi.douban.com
3.1.3 安装配置python3的虚拟环境
# 步骤1: 安装虚拟环境包 pip3 install virtualenv pip3 install virtualenvwrapper ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv # 步骤2: 修改/usr/local/python3/bin/virtualenvwrapper.sh文件 将 VIRTUALENVWRAPPER_PYTHON="$(command \which python)" 改为 VIRTUALENVWRAPPER_PYTHON="$(command \which python3)" # 步骤3: 给当前用户配置虚拟环境, 在~/.bashrc文件后追加如下内容 export VIRTUALENV_USE_DISTRIBUTE=1 export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenvwrapper.sh export WORKON_HOME=$HOME/.venv source /usr/local/python3/bin/virtualenvwrapper.sh # 步骤4: 加载用户配置 source ~/.bashrc # 步骤5: 常用操作 cd ~/.venv virtualenv --python=/usr/bin/python3 automation_test workon automation_test pip3 list deactivate
注意事项:
1) 在加载用户配置时,如果出现如下报错内容,则需要升级pip和setuptools
# 报错信息如下: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-e8v4jw65/virtualenvwrapper/
# 升级pip和setuptools python3 -m pip install --upgrade --force pip pip3 install --upgrade setuptools
3.2 安装git命令或升级git命令
# 步骤1: 如果已源码安装过git,请先卸载老版本 yum remove git # 步骤2: 下载git源码包 cd /opt/pkg && wget -O git.zip https://github.com/git/git/archive/master.zip # 步骤3: 安装编译依赖包 yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel autoconf # 步骤4: 编译源码 unzip git.zip && cd git-master autoconf ./configure prefix=/usr/local/git && make && make install # 步骤5: 创建软链接 ln -s /usr/local/git/bin/git /usr/bin/git # 步骤6: 校验git是否安装成功 git --version
3.3 安装Java1.8环境(rpm安装)
# 下载java的rpm包: jdk-8u191-linux-x64.rpm
Oracle官网下载JDK需要账号登陆,百度云下载地址:https://pan.baidu.com/s/1k6siJHNcxo1Fkbv6yYTFlA 提取码:3p6v
下载完成后,将rpm文件拷贝到/opt/pkg目录下
# 安装java rpm -qa|grep java # 如果已存在java内容,先卸载老版本内容: rpm -e --nodeps xxx rpm -ivh jdk-8u191-linux-x64.rpm
# 查看安装目录
ll /usr/java/jdk1.8.0_191-amd64 # 设置java环境变量: 将环境变量追加到/etc/profile文件中
export JAVA_HOME=/usr/java/jdk1.8.0_191-amd64
export JRE_HOME=/usr/java/jdk1.8.0_191-amd64/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# 验证java版本 javac -version
java -version
3.4 搭建SMB服务
目的:实现Windows与Linux之间文件共享
3.4.1 搭建SMB服务
# 安装smb服务 yum install samba samba-client samba-common # smb的配置文件路径 cat /etc/samba/smb.conf # 查看SELinux的状态,期望SELinux status: disabled sestatus # 添加一个用户 useradd share # 给share用户设置smb密码 smbpasswd -a share # 创建smb目录 mkdir -p /samba/share # 赋予smb目录文件权限 chmod -R 755 /samba/share # 赋予smb目录所有者权限 chown -R share:share /samba/share # 在/etc/samba/smb.conf文件中,追加写入 [share] path = /samba/share browseable = yes writable = yes valid users = share # 保存内容 testparm # 启动smb服务,并设置smb服务为开机自启动 systemctl start smb.service systemctl enable smb.service systemctl status smb.service # 关闭防火墙,并设置开机自动关闭防火墙 systemctl stop firewalld systemctl disable firewalld.service
3.4.2 在windows下设置映射网络驱动器
计算机----映射网络驱动器----输入smb文件夹地址(如:\\127.0.0.1\share)----输入smb的账号密码----点击完成
注意事项:
1. 如果使用的是阿里云,需要在安全组访问规则中开放出137,138,139,455端口
3.5 Jenkins Slave机环境部署
3.5.1 使用root账号添加一个jenkins账号,并赋予sudo权限
# 切换至root账号 adduser jenkins passwd jenkins chmod 777 /etc/sudoers vim /etc/sudoers, 文件尾部加入: jenkins ALL=(ALL) ALL chmod 440 /etc/sudoers
3.5.2 切换至jenkins账号,给当前用户配置国内pip源,并配置py3虚拟环境(请参考3.1内容)
# 创建python3虚拟环境 cd ~/.venv virtualenv --python=/usr/bin/python3 test_automation # 在虚拟环境下安装第三方包 workon test_automation pip3 list pip3 install requests pip3 list
deactivate # 虚拟环境下,python3的解释器路径 /home/jenkins/.venv/test_automation/bin/python3
3.5.3 切换至jenkins账号,配置ssh公钥(git安装请参考3.2内容)
# 清理信息 rm -rf ~/.gitconfig ~/.ssh # 生成ssh公钥,执行命令后如果遇到有交互提示信息,直接按Enter即可 ssh-keygen -t rsa -C "dj@reconova.com" # git的用户配置 git config --global user.name "dj" git config --global user.email "dj@reconova.com"
注意事项:
1. 如果需要使用gerrit下载代码,需要将 ~/.ssh/id_rsa.pub 下的内容拷贝到gerrit网站中的settings下的SSH Public Keys内